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的Django框架可适配的各种数据库介绍
Jul 15 Python
Python和Perl绘制中国北京跑步地图的方法
Mar 03 Python
Python pymongo模块用法示例
Mar 31 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
Python实现合并excel表格的方法分析
Apr 13 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
django框架两个使用模板实例
Dec 11 Python
Python urlopen()和urlretrieve()用法解析
Jan 07 Python
Python使用pyenv实现多环境管理
Feb 05 Python
Python与C++中梯度方向直方图的实现
Mar 17 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
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
Laravel日志用法详解
2016/10/09 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
JS计算距当前时间的时间差实例
2017/12/29 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
ES5和ES6中类的区别总结
2020/12/21 Javascript
Python连接mysql数据库的正确姿势
2016/02/03 Python
python异常和文件处理机制详解
2016/07/19 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
Django 在iframe里跳转顶层url的例子
2019/08/21 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
详解如何使用CSS3中的结构伪类选择器和伪元素选择器
2020/01/06 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
Lime Crime官网:美国一家主打梦幻精灵系的彩妆品牌
2019/03/22 全球购物
斯洛伐克电子产品购物网站:DATART
2020/04/05 全球购物
自我评价怎么写正确呢?
2013/12/02 职场文书
教育课题研究自我鉴定范文
2013/12/28 职场文书
行政办公室岗位职责
2014/03/18 职场文书
求职教师自荐书
2014/06/19 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
指导教师推荐意见
2015/06/05 职场文书
解决Django transaction进行事务管理踩过的坑
2021/04/24 Python
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
Python echarts实现数据可视化实例详解
2022/03/03 Python