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中实现对list做减法操作介绍
Jan 09 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
单链表反转python实现代码示例
Feb 08 Python
python实现数据导出到excel的示例--普通格式
May 03 Python
python读写LMDB文件的方法
Jul 02 Python
通过cmd进入python的实例操作
Jun 26 Python
python3实现带多张图片、附件的邮件发送
Aug 10 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
Python tkinter三种布局实例详解
Jan 06 Python
python应用Axes3D绘图(批量梯度下降算法)
Mar 25 Python
Python限制内存和CPU使用量的方法(Unix系统适用)
Aug 04 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
跟我学Laravel之配置Laravel
2014/10/15 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
PHP读取word文档的方法分析【基于COM组件】
2017/08/01 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
PDO::setAttribute讲解
2019/01/29 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
jQuery控制图片的hover效果(smartRollover.js)
2012/03/18 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
node.js的事件机制
2017/02/08 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
Python类的专用方法实例分析
2015/01/09 Python
Python 的类、继承和多态详解
2017/07/16 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
超市国庆节促销方案
2014/02/20 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
服务员岗位职责范本
2015/04/09 职场文书
婚姻出轨保证书
2015/05/08 职场文书
委托收款证明
2015/06/23 职场文书
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js