Python+django实现文件下载

作者:hebedich 时间:2022-03-10 15:54:16 

(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,django,文件下载
0
投稿

猜你喜欢

  • Python中enumerate()函数编写更Pythonic的循环

    2023-06-09 14:01:29
  • Python的SQLalchemy模块连接与操作MySQL的基础示例

    2024-01-20 07:37:13
  • 如何将JSP/Servlet项目转换为Spring Boot项目

    2023-06-19 16:23:06
  • 在Pandas DataFrame中插入一列的方法实例

    2021-08-17 19:39:18
  • 高效优化博客的用户阅读体验

    2009-06-16 18:09:00
  • 基于Vue实现简单的贪食蛇游戏

    2024-04-27 16:13:17
  • Python中return函数返回值实例用法

    2023-11-19 02:11:36
  • 基于Go和PHP语言实现爬楼梯算法的思路详解

    2024-05-22 10:18:20
  • 利用 python 对目录下的文件进行过滤删除

    2022-07-01 01:24:32
  • linux CentOS 7.4下 mysql5.7.20 密码改回来的处理方法

    2024-01-25 17:36:56
  • Python函数学习笔记

    2022-10-29 03:51:07
  • 用Python代码自动生成文献的IEEE引用格式的实现

    2021-05-26 15:24:49
  • Python全栈之学习JS(1)

    2021-09-30 03:43:23
  • SNS用户体验和互动性浅析

    2011-01-17 17:56:00
  • 如何处理Python3.4 使用pymssql 乱码问题

    2021-07-02 12:01:11
  • python笔记之mean()函数实现求取均值的功能代码

    2022-01-12 07:06:47
  • 13家著名科技公司logo标识来历及演变

    2008-02-19 16:42:00
  • 利用Python绘制多种风玫瑰图

    2023-05-05 03:41:50
  • oracle 数据库连接分析

    2009-07-28 10:42:00
  • python实现多人聊天室

    2022-09-02 18:56:21
  • asp之家 网络编程 m.aspxhome.com