Django中实现点击图片链接强制直接下载的方法

yipeiwu_com6年前Python基础

本文实例讲述了Django中实现点击图片链接强制直接下载的方法。分享给大家供大家参考。具体分析如下:

当用户点击图片连接时,默认为在浏览器中直接开打图片,这段代码可以让图片链接变成下载

这段代码也非常适合下载大文件,基本不会消耗内存,每次只读取一部分数据到内存,然后提供下载

def Download(request):
  def readFile(fn, buf_size=262144):
    f = open(fn, "rb")
    while True:
      c = f.read(buf_size)
      if c:
        yield c
      else:
        break
    f.close()
  filename = '/usr/local/1.jpg'
  try:
    response = HttpResponse(readFile(file),mimetype='application/octet-stream')
    response['Content-Disposition'] = 'attachment; filename=%s' %'附件'
  except:
    response = HttpResponse('')
  return response

希望本文所述对大家的Python程序设计有所帮助。

相关文章

使用PyQt4 设置TextEdit背景的方法

先简单做个分享,有时间再补一个完整的用例 self.textEdit = QtGui.QTextEdit(slef) 1.设置背景颜色 self.textEdit.setSty...

快速解决vue.js 模板和jinja 模板冲突的问题

快速解决vue.js 模板和jinja 模板冲突的问题

jinjia和vue.js默认的模板转义符都是{{}} 目前的解决办法是修改vue.js的转义符,将原来的{{}}替换为其他标签,我改为{[]} 版本1.x和2.x方法如下 //...

详解Python time库的使用

详解Python time库的使用

一、时间获取函数 >>> import time >>> time.time() 1570530861.740123 >>> t...

python实现播放音频和录音功能示例代码

python实现播放音频和录音功能示例代码

音频预处理 这一讲主要介绍些音频基本处理方式,为接下来的语音识别打基础。 三种播放音频的方式 使用 python 播放音频有以下几种方式: os.system() os.sys...

用yum安装MySQLdb模块的步骤方法

前言 本文主要介绍的是用yum安装MySQLdb模块的步骤,下面话不多说了,来看看详细的介绍吧。 步骤如下 MySQLdb依赖于mysql-devel包,所以首先我们需要先安装mysql...