django服务器提供下载文件
2013-12-31 04:54
495 查看
参考http://blog.csdn.net/wildcatlele/article/details/12146147 在这篇文章的基础上做了些许修改,因为按照原文章的做法会在我的环境下(python 2.7.6)下报错。
首先是配置url,在urls.py中配置好你的下载地址及response:
from GardeServeur.views import update, download
url(r'^garde/download/$',download),
然后是在views.py中写好相应的response,注意这里需要反馈一个StreamingHttpResponse,而不能直接用HttpResponse
from django.http import HttpResponse, StreamingHttpResponse
from django.core.servers.basehttp
import FileWrapper
import mimetypes
import settings
import os
def download(request):
filepath = os.path.join(settings.MEDIA_ROOT, "new.apk");
print (filepath)
wrapper = FileWrapper(open(filepath, 'rb'))
content_type = mimetypes.guess_type(filepath)[0]
response = StreamingHttpResponse(wrapper, 'content_type')
response['Content-Disposition'] =
'attachment; filename="new.apk"'
return response
接下来是在你的settings.py中设定待下载文件目录:
STATIC_URL = '/static/'
HERE = os.path.dirname(__file__)
MEDIA_ROOT = HERE+STATIC_URL
最后在settings.py同一目录下建一个叫static的文件夹,在里面放上你的待下载文件。
正如你所见,我的下载地址是;http://192.168.1.103:8000/garde/download/
下载成功:)
首先是配置url,在urls.py中配置好你的下载地址及response:
from GardeServeur.views import update, download
url(r'^garde/download/$',download),
然后是在views.py中写好相应的response,注意这里需要反馈一个StreamingHttpResponse,而不能直接用HttpResponse
from django.http import HttpResponse, StreamingHttpResponse
from django.core.servers.basehttp
import FileWrapper
import mimetypes
import settings
import os
def download(request):
filepath = os.path.join(settings.MEDIA_ROOT, "new.apk");
print (filepath)
wrapper = FileWrapper(open(filepath, 'rb'))
content_type = mimetypes.guess_type(filepath)[0]
response = StreamingHttpResponse(wrapper, 'content_type')
response['Content-Disposition'] =
'attachment; filename="new.apk"'
return response
接下来是在你的settings.py中设定待下载文件目录:
STATIC_URL = '/static/'
HERE = os.path.dirname(__file__)
MEDIA_ROOT = HERE+STATIC_URL
最后在settings.py同一目录下建一个叫static的文件夹,在里面放上你的待下载文件。
正如你所见,我的下载地址是;http://192.168.1.103:8000/garde/download/
下载成功:)
相关文章推荐
- window下使用nginx提供文件下载服务器配置
- 服务器IIS无法提供某种扩展名的文件的下载或访问某种类型文件提示http 404 错误时的解决办法
- Asp.net 获取服务器指定文件夹目录文件,并提供下载
- Python基于django提供大文件下载接口及Python基于tornado下载大文件
- Django API:输出文件 提供下载
- Django中提供大内容(或大文件)下载
- Asp.net获取服务器指定文件夹目录文件并提供下载的方法
- 《JavaWeb---简单应用---服务器向客户端提供音乐资源(三)》--- 利用struts实现文件下载,下载时改变文件的名称
- Asp.net获取服务器指定文件夹目录文件并提供下载的方法
- CRT + lrzsz 进行远程linux系统服务器文件上传下载
- Struts2 结合HttpClient 实现远程服务器文件下载
- c# 下载服务器端文件,服务器再删除文件
- WinFrom通过WebClient向Web服务器上传下载文件(带进度条)
- java 从服务器下载文件并保存到本地
- 在Linux平台上的Ftp服务器上通过命令行下载文件
- maven+spring简单的job任务配置-从远程服务器下载文件
- Android端通过Okhttp与PHP服务器进行交互并实现文件上传下载(一)
- 服务器下载文件Http头的设置
- 服务器通过浏览器下载文件到本地
- 使用易语言搭建WEB服务器且支持大文件下载/断点传输