django服务器提供下载文件
来源:互联网 发布:淘宝格子铺是真是假 编辑:程序博客网 时间:2024/05/18 00:17
参考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/
下载成功:)
- django服务器提供下载文件
- Django中提供大内容(或大文件)下载
- Python基于django提供大文件下载接口及Python基于tornado下载大文件
- django 文件下载
- django文件下载
- django下载文件
- django下载文件处理
- Django 大文件下载
- django下载文件
- Django实现文件下载
- 输出硬盘文件,提供下载
- ASP.NET提供文件下载
- Servlet提供文件下载功能
- 使用HttpServletResponse提供文件下载
- Django文件下载,解决Django中文名问题
- DjanGo里做下载文件
- DjanGo里做下载文件
- nginx+django 文件下载配置
- hostapd安装总结
- SlidingMenu的准备工作
- Google Code Jam Notes - Meet And Party - Java
- Windows下使用composer安装Laravel框架卡住,解决方案
- 7.HTML5 高级Canvas技术-2
- django服务器提供下载文件
- 考试周宅宿舍、松与紧、蜻蜓点水之杂想
- LeetCode(27)Remove Element
- STL中的set容器的一点总结(修正了原文的一些错误)
- Ch1-7: clear the row i and column j iff a[i][j]==0
- Daydream
- JAVA序列化与反序列化三种格式存取(默认格式、XML格式、JSON格式)
- 2013年底csdn英雄会线下编程决赛纪实
- java.beans包的XMLEncoder和XMLDecoder实现实体与xml转换