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标准算法实现数组全排列的方法
Mar 17 Python
python在windows下实现ping操作并接收返回信息的方法
Mar 20 Python
python与C互相调用的方法详解
Jul 14 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 Python
python检索特定内容的文本文件实例
Jun 05 Python
python实现可视化动态CPU性能监控
Jun 21 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
深入解析神经网络从原理到实现
Jul 26 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
Dec 11 Python
python实现跨excel sheet复制代码实例
Mar 03 Python
Numpy 理解ndarray对象的示例代码
Apr 03 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实现自动识别Restful API的返回内容类型
2015/02/07 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
2016/03/07 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
简单实现jQuery轮播效果
2017/08/18 jQuery
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
基于Swiper实现移动端页面图片轮播效果
2017/12/28 Javascript
nodejs中密码加密处理操作详解
2018/03/20 NodeJs
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
python实现log日志的示例代码
2018/04/28 Python
python 除法保留两位小数点的方法
2018/07/16 Python
简单了解python协程的相关知识
2019/08/31 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
2020/04/16 Python
如何基于线程池提升request模块效率
2020/04/18 Python
美国餐厅用品和厨房设备批发网站:KaTom Restaurant Supply
2018/01/27 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
学校四群教育实施方案
2014/06/12 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
医生个人年度总结
2015/02/28 职场文书
毕业生学校组织意见
2015/06/04 职场文书
Python语言内置数据类型
2022/02/24 Python