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三元运算符实现方法
Dec 17 Python
浅谈Python的Django框架中的缓存控制
Jul 24 Python
如何用python整理附件
May 13 Python
python GUI实现小球满屏乱跑效果
May 09 Python
tensorflow没有output结点,存储成pb文件的例子
Jan 04 Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 Python
python求前n个阶乘的和实例
Apr 02 Python
Python BeautifulReport可视化报告代码实例
Apr 13 Python
解决python使用list()时总是报错的问题
May 05 Python
如何理解Python中的变量
Jun 01 Python
Python带参数的装饰器运行原理解析
Jun 09 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
Feb 26 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获取textarea的值并处理回车换行的方法
2014/10/20 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
YII2框架中查询生成器Query()的使用方法示例
2020/03/18 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
javascript删除一个html元素节点的方法
2014/12/20 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
Python版实现微信公众号扫码登陆
2020/05/28 Javascript
node+vue实现文件上传功能
2020/05/28 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python多线程爬虫简单示例
2016/03/04 Python
Python的语言类型(详解)
2017/06/24 Python
selenium+python环境配置教程详解
2019/05/28 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
大型车展策划方案
2014/02/01 职场文书
推荐信模板
2014/05/09 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
公安机关起诉意见书
2015/05/20 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
学前班教学反思
2016/02/24 职场文书