Python+django实现文件下载

 更新时间:2016年01月17日 15:00:24   投稿:hebedich  
本文是python+django系列的第二篇文章,主要是讲述是先文件下载的方法和代码,有需要的小伙伴可以参考下。

(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="+路径;
 });

相关文章

  • Appium+python自动化之连接模拟器并启动淘宝APP(超详解)

    Appium+python自动化之连接模拟器并启动淘宝APP(超详解)

    这篇文章主要介绍了Appium+python自动化之 连接模拟器并启动淘宝APP(超详解)本文以淘宝app为例,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2019-06-06
  • python爬虫之快速对js内容进行破解

    python爬虫之快速对js内容进行破解

    这篇文章主要介绍了python爬虫之快速对js内容进行破解,到一般js破解有两种方法,一种是用Python重写js逻辑,一种是利用第三方库来调用js内容获取结果,这次我们就用第三方库来进行js破解,需要的朋友可以参考下
    2019-07-07
  • 基于Python log 的正确打开方式

    基于Python log 的正确打开方式

    下面小编就为大家分享一篇基于Python log 的正确打开方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 详解Python自动化中这八大元素定位

    详解Python自动化中这八大元素定位

    今天给大家带来的是关于Python的相关知识,文章围绕着Python自动化中这八大元素定位展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • pytorch交叉熵损失函数的weight参数的使用

    pytorch交叉熵损失函数的weight参数的使用

    这篇文章主要介绍了pytorch交叉熵损失函数的weight参数的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python:关于文件加载及处理方式

    python:关于文件加载及处理方式

    这篇文章主要介绍了python:关于文件加载及处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Pytorch中DataLoader的使用方法详解

    Pytorch中DataLoader的使用方法详解

    在Pytorch中,torch.utils.data中的Dataset与DataLoader是处理数据集的两个函数,用来处理加载数据集,这篇文章主要介绍了Pytorch中DataLoader的使用方法,需要的朋友可以参考下
    2022-09-09
  • Python使用Matplotlib实现Logos设计代码

    Python使用Matplotlib实现Logos设计代码

    这篇文章主要介绍了Python使用Matplotlib实现Logos设计代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • python超详细实现字体反爬流程

    python超详细实现字体反爬流程

    大家好,本篇文章主要讲的是python查策网字体反爬实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-05-05
  • Python的Django框架中消息通知的计数器实现教程

    Python的Django框架中消息通知的计数器实现教程

    通知的计数器非常有用,新通知时+1和读过通知后的-1是最基本的功能,这里我们就来看一下Python的Django框架中消息通知的计数器实现教程
    2016-06-06

最新评论