码迷,mamicode.com
首页 > Web开发 > 详细

django 上传和下载文件

时间:2020-12-16 11:41:18      阅读:4      评论:0      收藏:0      [点我收藏+]

标签:ati   文件下载   ref   fir   chunk   name   class   string   ESS   

##上传文件
#setting配置
UPLOAD_ROOT = os.path.join(BASE_DIR,‘upload‘)
 
 
order_number = lambda : int(round(time.time()* 1000*1000)) ##避免重复文件
if fp.multiple_chunks():    # 判断上传文件大于2.5MB的大文件
    file_yield = fp.chunks()    # 迭代写入文件
    with open(path,‘wb‘) as f:
          for buf in file_yield:
               f.write(buf)
else:
    with open(path,‘wb‘) as f:
          f.write(fp.read())


##文件下载
class Upload_file(APIView): def get(self,request): id =request.GET.get(‘id‘) query = Question.objects.filter(id = id).first() filename = query.accessory with open (filename,"rb") as file_object: response = HttpResponse(file_object) response[‘Content-Type‘] = ‘application/octet-stream‘ #设置头信息,告诉浏览器这是个文件 filename = ‘attachment; filename=%s‘%filename.split("\\")[6] #设置文件名的中文编码方式 response[‘Content-Disposition‘] = filename.encode(‘utf-8‘, ‘ISO-8859-1‘) return response

  前端直接<a :href="‘http://127.0.0.1:8000/download_excel/?id=‘+ fileId">下载</a>

django 上传和下载文件

标签:ati   文件下载   ref   fir   chunk   name   class   string   ESS   

原文地址:https://www.cnblogs.com/sunzhiqi/p/14115641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!