from django.shortcuts import render,redirect,HttpResponse
# Create your views here.
import os
import json
from Upload import models
def Upload(request):
if request.method=="GET":
# 获取所有图片
imgs=models.image.objects.all()
return render(request,"upload.html",{"imgs":imgs})
elif request.method=="POST":
# 获取普通input标签值,即文件名
filname=request.POST.get('fileName')
# 获取file类型的input标签值,即文件内容
file=request.FILES.get('fileContent')
# 获取文件后缀名
postfix=file.name.split('.')[1]
# 设置本地文件路径
file_path=os.path.join('static',filname+'.'+postfix)
# 将上传的文件写入本地目录
f=open(file_path,"wb")
for chunk in file.chunks():
f.write(chunk)
f.close()
# 写入成功后将路径保存至数据库
models.image.objects.create(file_Path=file_path)
return redirect("upload.html")
def Upload_js(request):
if request.method == "GET":
# 获取所有图片
imgs = models.image.objects.all()
return render(request, "upload_js.html", {"imgs": imgs})
elif request.method == "POST":
# 获取普通input标签值,即文件名
filname = request.POST.get('fileName')
# 获取file类型的input标签值,即文件内容
file = request.FILES.get('fileContent')
# 获取文件后缀名
postfix = file.name.split('.')[1]
# 设置本地文件路径
file_path = os.path.join('static', filname + '.' + postfix)
# 将上传的文件写入本地目录
f = open(file_path, "wb")
for chunk in file.chunks():
f.write(chunk)
f.close()
# 写入成功后将路径保存至数据库
models.image.objects.create(file_Path=file_path)
#将状态及文件路径通过json形式返回至html页面
ret={'status':True,'path':file_path}
return HttpResponse(json.dumps(ret))
def Upload_jQuery(request):
if request.method == "GET":
# 获取所有图片
imgs = models.image.objects.all()
return render(request, "upload_jQuery.html", {"imgs": imgs})
elif request.method == "POST":
# 获取普通input标签值,即文件名
filname = request.POST.get('fileName')
# 获取file类型的input标签值,即文件内容
file = request.FILES.get('fileContent')
# 获取文件后缀名
postfix = file.name.split('.')[1]
# 设置本地文件路径
file_path = os.path.join('static', filname + '.' + postfix)
# 将上传的文件写入本地目录
f = open(file_path, "wb")
for chunk in file.chunks():
f.write(chunk)
f.close()
# 写入成功后将路径保存至数据库
models.image.objects.create(file_Path=file_path)
# 将状态及文件路径通过json形式返回至html页面
ret = {'status': True, 'path': file_path}
return HttpResponse(json.dumps(ret))
def Upload_iframe(request):
if request.method == "GET":
# 获取所有图片
imgs = models.image.objects.all()
return render(request, "upload_iframe.html", {"imgs": imgs})
elif request.method == "POST":
# 获取普通input标签值,即文件名
filname = request.POST.get('fileName')
# 获取file类型的input标签值,即文件内容
file = request.FILES.get('fileContent')
# 获取文件后缀名
postfix = file.name.split('.')[1]
# 设置本地文件路径
file_path = os.path.join('static', filname + '.' + postfix)
# 将上传的文件写入本地目录
f = open(file_path, "wb")
for chunk in file.chunks():
f.write(chunk)
f.close()
# 写入成功后将路径保存至数据库
models.image.objects.create(file_Path=file_path)
# 将状态及文件路径通过json形式返回至html页面
ret = {'status': True, 'path': file_path}
return HttpResponse(json.dumps(ret))
通过Django的form及Ajax等多种方式上传文件
需积分: 50 147 浏览量
2018-10-13
21:58:57
上传
评论
收藏 9KB ZIP 举报
baobao267
- 粉丝: 21
- 资源: 10
最新资源
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
- 音乐展示网页、基于Stenography的图像数字水印添加与提取,以及基于颜色矩和Tamura算法的图像相似度评估算法py源码
- 基于EmguCV(OpenCV .net封装),图像数字水印加解密算法的实现,其中包含最低有效位算法,离散傅里叶变换算法+文档书
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈