赶快记录一下写的一个django下载文件的例子,以便以后复习:

在views.py中设置

  1. from django.core.servers.basehttp import FileWrapper
  2. import mimetypes
  3. import settings
  4. import os
  1. def file_download(request, filename):
  2. filepath = os.path.join(settings.MEDIA_ROOT, filename)
  3. print (filepath)
  4. wrapper = FileWrapper(open(filepath, 'rb'))
  5. content_type = mimetypes.guess_type(filepath)[0]
  6. response = HttpResponse(wrapper, mimetype='content_type')
  7. response['Content-Disposition'] = "attachment; filename=%s" % filename
  8. return response

在settings.py中设置:

  1. import os
  1. STATIC_URL = '/static/'
  2. HERE = os.path.dirname(__file__)
  3. MEDIA_ROOT =  HERE+STATIC_URL

最后在settings.py同一目录下设置一个文件夹static。 在文件价中添加文件1.ipg

在url.py中设置:

  1. url('^fileDownload/filename=(?P<filename>.{1,500})/$', 'DjangoDemo2.views.file_download'),#download

在浏览器中输入:

url    :http://localhost:8000/fileDownload/filename=1.jpg/即可下载。

django下载文件的更多相关文章

  1. django 下载文件 无法正常打开

    下载文件,无法正常打开,如下图 需手动加后缀名修改文件格式方可正常打开进而能得知文件内容正常如下图,给“下载”文件加上后缀即可得到正常下载的内容 问题整理:(此下载功能采用StreamHttpResp ...

  2. python3中用django下载文件,中文名乱码怎么办?

    前段时间被某个前端小可爱鄙视了一下,说我博客都一年不更新了,我不服,明明还有俩月才到一年呢.不过说是这么说,还是要更新一下的. 以上都是借口,下面开始正文.     我公司的某个内部系统,用djang ...

  3. django 下载文件,指定文件中文名称

    Content-disposition 是 MIME 协议的扩展,MIME 协议指示 MIME 用户代理如何显示附加的文件.Content-disposition其实可以控制用户请求所得的内容存为一个 ...

  4. django 下载文件

    方法一. from django.http import StreamingHttpResponse def big_file_download(request): # do something... ...

  5. Django下载中文名文件:

    Django下载中文名文件: from django.utils.http import urlquote from django.http import HttpResponse content = ...

  6. django 中下载文件与下载保存为excel

    一.django 中下载文件 在实际的项目中很多时候需要用到下载功能,如导excel.pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍dja ...

  7. python 全栈开发,Day108(客户管理之权限控制,客户管理之动态"一级"菜单,其他应用使用rbac组件,django static文件的引入方式)

    一.客户管理之权限控制 昨天的作业,有很多不完善的地方 下载代码,基本实现权限验证 https://github.com/987334176/luffy_permission/archive/v1.2 ...

  8. django下载excel,使用django-excel插件

    django下载Excel,使用django-excel插件 由于目前的资料多是使用pandas或xlwt库实现的.其实没有那么的麻烦,因为django有相对应的插件django-excel. 该插件 ...

  9. vue 上传文件 和 下载文件

    Vue上传文件,不必使用什么element 的uplaod, 也不用什么npm上找的个人写的包,就用原生的Vue加axios就行了, 废话不多说,直接上代码:html: <input type= ...

随机推荐

  1. Swift构造函数(Initializer)和析构函数(Deinitializer)

    要初始化结构和类和其他类型的实例的属性. 默认的构造函数 struct Fahrenheit { var temperature: Doubleinit(){ temperature = 32.0 } ...

  2. XP 多国语言包

    http://download.microsoft.com/download/f/6/4/f648c363-6975-470c-8202-ac5aea706109/WindowsXP-KB835935 ...

  3. asp.net webform生命周期

  4. javascript3

    计算阶乘函数:<script> function factorial(n){ var product=1; while (n>1){ product*=n;//product=pro ...

  5. Objective-C系列

    我的Objective-C系列文章和坚持写博客的感想   做iOS开发有一段时间了,也有自己上线的App产品,也在坚持着发表技术博客总结自己所学的东西.在写博客的时候虽然博文中不免有错别字,但每句话都 ...

  6. YII相关资料(干货)

    Sites 网站 yiifeed:Yii 最新动态都在这里 yiigist:Yii 专用的 Packages my-yii:Yii 学习资料和新闻 Docs 文档 Yii Framework 2.0 ...

  7. WebView Android 调用js且须要获取返回结果

    Android webView调用js方法非常easy, webView.loadUrl("javascrpt:yourFunction()"); 可是此方法没有办法获取返回结果 ...

  8. Ubuntu终端字体颜色方案

    默认: 蓝色代表该文件夹: 绿色代表可运行文件. 红色表示压缩文件. 浅蓝色表示链接文件: 灰色表示其它文件: 红色闪烁表示链接的文件有问题了 黄色表示设备文件. 非常不爽怎么办,改! # Attri ...

  9. ASP.Net使用母版页窗

    背景:每一个网页的基本框架结构类似: 浏览站点的时候会发现,好多站点中.每一个网页的基本框架都是一样的,比方,最上面都是站点的标题,中间是内容.最以下是站点的版权.开发提供商等信息: watermar ...

  10. Ubuntu Ruby On Rails安装和配置

    在这篇文章中ubuntu通过rvm安装ruby和rails.步借鉴了官方网站和网上信息,这里给大家分享. 1. 安装mapapis公钥: gpg --keyserver hkp://keys.gnup ...