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入门篇之字符串
Oct 17 Python
python中循环语句while用法实例
May 16 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
Python enumerate索引迭代代码解析
Jan 19 Python
PyQt5 pyqt多线程操作入门
May 05 Python
点球小游戏python脚本
May 22 Python
用python实现k近邻算法的示例代码
Sep 06 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
Nov 14 Python
python导入pandas具体步骤方法
Jun 23 Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 Python
Django通过json格式收集主机信息
May 29 Python
keras K.function获取某层的输出操作
Jun 29 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/11 无线电
PHP&amp;MYSQL服务器配置说明
2006/10/09 PHP
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
php 使用array函数实现分页
2015/02/13 PHP
javascript json2 使用方法
2010/03/16 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
当鼠标滑过文本框自动选中输入框内容的JS代码分享
2013/11/26 Javascript
巧用jquery解决下拉菜单被Div遮挡的相关问题
2014/02/13 Javascript
JS取得绝对路径的实现代码
2015/01/16 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
react-native DatePicker日期选择组件的实现代码
2017/09/12 Javascript
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
Flask框架的学习指南之用户登录管理
2016/11/20 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python使用多进程的实例详解
2018/09/19 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
使用 pytorch 创建神经网络拟合sin函数的实现
2020/02/24 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
股权转让意向书
2014/04/01 职场文书
集中采购方案
2014/06/10 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
小学感恩节活动总结
2015/03/24 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
python 如何在 Matplotlib 中绘制垂直线
2021/04/02 Python
SpringBoot整合Minio文件存储
2022/04/03 Java/Android