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网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
Jun 09 Python
Python查看多台服务器进程的脚本分享
Jun 11 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
Python实现多线程的两种方式分析
Aug 29 Python
Python异常的检测和处理方法
Oct 26 Python
对python多线程SSH登录并发脚本详解
Feb 14 Python
Python实现去除图片中指定颜色的像素功能示例
Apr 13 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
Matplotlib自定义坐标轴刻度的实现示例
Jun 18 Python
python和JavaScript哪个容易上手
Jun 23 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 Python
Python使用MapReduce进行简单的销售统计
Apr 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
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP 组件化编程技巧
2009/06/06 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
PHP编程实现脚本异步执行的方法
2017/08/09 PHP
Javascript之文件操作
2007/03/07 Javascript
javascript 表单规则集合对象
2009/07/21 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
JavaScript中自定义事件用法分析
2014/12/23 Javascript
javascript实现回车键提交表单方法总结
2015/01/10 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
ES6的新特性概览
2016/03/10 Javascript
js闭包用法实例详解
2016/12/13 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
vue.js实现点击图标放大离开时缩小的代码
2021/01/27 Vue.js
跟老齐学Python之类的细节
2014/10/13 Python
Python中的tuple元组详细介绍
2015/02/02 Python
MySQL适配器PyMySQL详解
2017/09/20 Python
Python之列表实现栈的工作功能
2019/01/28 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
工作失职检讨书范文
2014/01/16 职场文书
课改先进个人汇报材料
2014/01/26 职场文书
教师考核评语
2014/04/28 职场文书
中标通知书
2015/04/17 职场文书
上诉状格式
2015/05/23 职场文书
关于ObjectUtils.isEmpty() 和 null 的区别
2022/02/28 Java/Android
SQL中的连接查询详解
2022/06/21 SQL Server