我有一个django表单,用户可以在其中上传图像,然后将其显示在页面上。提交表单请求后,我尝试使用以下代码向上传图像的用户返回 httpresponse:
image_data = open("/path/to/my/image.png", "rb").read()
return HttpResponse(image_data, content_type="image/png")
问题是我无法从表单请求中提交的图像中获取绝对路径。通过执行以下操作,我可以获取图像的名称,但不能获取图像的本地路径:
name = ""
for filename, file in request.FILES.iteritems():
name = request.FILES[filename]
imageFileName = name
我已经尝试使用基于SO帖子file_to_string()
函数,但看起来该功能现在已被弃用。如何获取绝对文件路径,以便将其传递给 open 函数以返回图像?
models.py
class PhotoUploader(models.Model):
title = models.CharField(max_length =120)
image = models.ImageField()
这里有解决方案:
保存图像后,您可能会得到这样的路径:
instance = PhotoUploader.objects.get(id=instance_id);
image_full_path = instance.image.path
image_data = open(image_full_path, "rb").read()
return HttpResponse(image_data, content_type="image/png")
"image_full_path"这应该是您上传的图像完整路径。