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 相关文章推荐
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 Python
python 的列表遍历删除实现代码
Apr 12 Python
Python图形绘制操作之正弦曲线实现方法分析
Dec 25 Python
Flask之请求钩子的实现
Dec 23 Python
python使用wxpy实现微信消息防撤回脚本
Apr 29 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
Aug 01 Python
Python接口测试get请求过程详解
Feb 28 Python
Python运行异常管理解决方案
Mar 09 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 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 代码优化之经典示例
2011/03/24 PHP
php自动加载机制的深入分析
2013/06/08 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
让whoops帮我们告别ThinkPHP6的异常页面
2020/03/02 PHP
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
基于jquery的图片懒加载js
2010/06/30 Javascript
判定是否原生方法的JS代码
2013/11/12 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
vue-router 手势滑动触发返回功能
2018/09/30 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
[47:04]LGD vs infamous Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
Python进程通信之匿名管道实例讲解
2015/04/11 Python
Django的数据模型访问多对多键值的方法
2015/07/21 Python
python 捕获 shell/bash 脚本的输出结果实例
2017/01/04 Python
python中 logging的使用详解
2017/10/25 Python
微信跳一跳python自动代码解读1.0
2018/01/12 Python
Python数据结构之图的应用示例
2018/05/11 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
python实现猜单词游戏
2020/05/22 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
2020/11/25 Python
茶叶店创业计划书范文
2014/01/19 职场文书
水电维修专业推荐信
2014/09/06 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
介绍信样本
2015/01/31 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python