我有一个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()
答案 0 :(得分:1)
这里有解决方案:
保存图像后,您可能会得到类似的路径:
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”这应该是您上传的图片的完整路径。