1、项目中需要用到文件上传和显示进度,网上各种插件搞得头晕,决定自己实现一个
三个步骤:Ajax上传文件,获取上传进度,显示进度
html:
jQuery File Upload Example
后台:
def upload_file(request): if request.method == "POST": # 请求方法为POST时,进行处理 myFile = request.FILES.get("myfile", None) # 获取上传的文件,如果没有文件,则默认为None if not myFile: return HttpResponse("no files for upload!") destination = open(os.path.join("/root/Desktop", myFile.name), 'wb+') # 打开特定的文件进行二进制的写操作 for chunk in myFile.chunks(): # 分块写入文件 destination.write(chunk) destination.close() return HttpResponse(myFile.name)
效果: