基于Django建立的网站,如果提供文件下载功能,最简单的方式莫过于将静态文件交给Nginx等处理,但有些时候,由于网站本身逻辑,需要通过Django提供下载功能,如页面数据导出功能(下载动态生成的文件)、先检查用户权限再下载文件等。因此,有必要研究一下文件下载功能在Django中的实现。
最简单的文件下载功能的实现
将文件流放入HttpResponse对象即可,如:
def file_download(request):
# do something...
with open('fi
本文实例为大家分享了Django下完成文件上传和下载功能的具体代码,供大家参考,具体内容如下
一、文件上传
Views.py
def upload(request):
if request.method == POST: # 请求方法为POST时,进行处理
myFile = request.FILES.get(myfile, None) # 获取上传的文件,如果没有文件,则默认为None
if not myFile:
return HttpResponse(no files for u
方法一: 使用HttpResonse
下面方法从url获取file_path, 打开文件,读取文件,然后通过HttpResponse方法输出。
import os
from django.http import HttpResponse
def file_download(request, file_path):
# do something...
with open(file_path) as f:
c = f.read()
return HttpResponse(c)