Python+django实现文件下载


Posted in Python onJanuary 17, 2016

(1)方法一、直接用a标签的href+数据库中文件地址,即可下载。缺点:word excel是直接弹框下载,对于image txt 等文件的下载方式是直接在新页面打开。

(2)方法二、在python后台对下载内容进项处理,返回内容直接弹出下载框。

#后台处理函数
def downloadFile(req):
  filename=basePath+req.GET['url']
  def file_iterator(file_name, chunk_size=512):
    with open(file_name) as f:
      while True:
        c = f.read(chunk_size)
        if c:
          yield c
        else:
          break
  response = StreamingHttpResponse(file_iterator(filename))
  response['Content-Type'] = 'application/octet-stream'
  response['Content-Disposition'] = 'attachment;filename="{0}"'.format(filename)
  return response

(3)前台使用函数方法

①、a标签调用函数传入路径<a href='/downloadFile/url=路径'>

②、button标签调用jq方法调用后台函数

<input type='button' class='download'>
#下载按钮点击事件
 $("body").on("click",".download",function(){3   location.href="/downloadFile/?url="+路径;
 });
Python 相关文章推荐
新手该如何学python怎么学好python?
Oct 07 Python
分析Python的Django框架的运行方式及处理流程
Apr 08 Python
Python中的rfind()方法使用详解
May 19 Python
Python中类的初始化特殊方法
Dec 01 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
Apr 22 Python
python使用webdriver爬取微信公众号
Aug 31 Python
wxPython实现绘图小例子
Nov 19 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
python实现单机五子棋
Aug 28 Python
python集合的新增元素方法整理
Dec 07 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 Python
用python基于appium模块开发一个自动收取能量的小助手
Sep 25 Python
Python+django实现文件上传
Jan 17 #Python
初步剖析C语言编程中的结构体
Jan 16 #Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
Jan 16 #Python
python实现发送和获取手机短信验证码
Jan 15 #Python
详解python单例模式与metaclass
Jan 15 #Python
理解python正则表达式
Jan 15 #Python
Python工程师面试题 与Python Web相关
Jan 14 #Python
You might like
MySQL授权问题总结
2007/05/06 PHP
php生成随机数或者字符串的代码
2008/09/05 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP模板解析类实例
2015/07/09 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
js select常用操作控制代码
2010/03/16 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
JQuery中DOM事件合成用法实例分析
2015/06/13 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
AngularJS 霸道的过滤器小结
2017/04/26 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
django框架model orM使用字典作为参数,保存数据的方法分析
2019/06/24 Python
python利用tkinter实现屏保
2019/07/30 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
活动总结书
2014/05/08 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
有关花店创业的计划书模板
2019/08/27 职场文书
导游词之吉林花园山
2019/10/17 职场文书