通过django下载图像
我试着从我的django网站下载一张图片。我是这样做的:通过django下载图像,django,download,Django,Download,我试着从我的django网站下载一张图片。我是这样做的: def file_download(request, filename): from django.core.servers.basehttp import FileWrapper import mimetypes import settings import os filepath = os.path.join(settings.MEDIA_ROOT, filename) wrapper = FileWrapper(open(
def file_download(request, filename):
from django.core.servers.basehttp import FileWrapper
import mimetypes
import settings
import os
filepath = os.path.join(settings.MEDIA_ROOT, filename)
wrapper = FileWrapper(open(filepath))
content_type = mimetypes.guess_type(filepath)[0]
response = HttpResponse(wrapper, mimetype='content_type')
response['Content-Disposition'] = "attachment; filename=%s" % filename
return response
但是,它不适用于图像(我尝试jpg文件),但适用于txt文件。为什么?您可能需要以二进制模式打开文件:
wrapper = FileWrapper(open(filepath, 'rb'))
可能需要以二进制模式打开文件:
wrapper = FileWrapper(open(filepath, 'rb'))
是的,它起作用了!我可以知道什么时候我应该以二进制模式打开文件吗?基本上,当它们不是文本时。是的,它可以工作!我可以知道什么时候我应该以二进制模式打开文件吗?基本上,当它们不是文本时。