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线程池的实现实例
Nov 18 Python
Python读取ini文件、操作mysql、发送邮件实例
Jan 01 Python
python实现的系统实用log类实例
Jun 30 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
Python列表切片用法示例
Apr 19 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
Python实现的在特定目录下导入模块功能分析
Feb 11 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
dpn网络的pytorch实现方式
Jan 14 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
Keras使用ImageNet上预训练的模型方式
May 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+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
2007/03/07 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
PHP中extract()函数的定义和用法
2012/08/17 PHP
100多行PHP代码实现socks5代理服务器[2]
2016/05/05 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
jquery转盘抽奖功能实现
2015/11/13 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
微信小程序实现聊天室
2020/08/21 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
2020/12/14 Vue.js
[01:16:12]完美世界DOTA2联赛PWL S2 FTD vs Inki 第一场 11.21
2020/11/23 DOTA
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
Python实现简单登录验证
2016/04/13 Python
Python socket套接字实现C/S模式远程命令执行功能案例
2018/07/06 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
keras中的History对象用法
2020/06/19 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
解释下面关于J2EE的名词
2013/11/15 面试题
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
物资采购方案
2014/06/12 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
计算机实训报告总结
2014/11/05 职场文书
2015年推普周活动方案
2015/05/06 职场文书
社会主义核心价值观主题教育活动总结
2015/05/07 职场文书
2015年高三班主任工作总结
2015/05/21 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
springcloud之Feign超时问题的解决
2021/06/24 Java/Android