本文实例讲述了Django中实现点击图片链接强制直接下载的方法。分享给大家供大家参考。具体分析如下:
当用户点击图片连接时,默认为在浏览器中直接开打图片,这段代码可以让图片链接变成下载
这段代码也非常适合下载大文件,基本不会消耗内存,每次只读取一部分数据到内存,然后提供下载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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程序设计有所帮助。