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解析文件示例
Jan 23 Python
Python写的服务监控程序实例
Jan 31 Python
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
python分割列表(list)的方法示例
May 07 Python
Python 迭代器与生成器实例详解
May 18 Python
详解如何使用Python编写vim插件
Nov 28 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
python实现单向链表详解
Feb 08 Python
DJANGO-URL反向解析REVERSE实例讲解
Oct 25 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
Home Coffee Roasting
2021/03/03 咖啡文化
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
什么情况下可以不写PHP的闭合标签“?&gt;”
2014/08/28 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
JavaScript静态的动态
2006/09/18 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
jQuery aminate方法定位到页面具体位置
2013/12/26 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
详解webpack的配置文件entry与output
2017/08/21 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
耐克中国官方商城:Nike中国
2018/10/18 全球购物
一岗双责责任书
2014/04/15 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
夫妻吵架保证书
2015/05/08 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
2016年教师节贺卡寄语
2015/12/04 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书