[英]Django image compression not working for aws s3 bucket
我试图在上传到 aws s3 存储桶之前压缩图像。 但是我得到这个错误This backend doesn't support absolute paths
:
#image comressing start
if self.blog_cover_image:
img = Image.open(self.blog_cover_image.path)
img.save(self.blog_cover_image.path,quality=20,optimize=True)
#image compression end
问题 1:集成 aws S3 存储桶后图像大小调整不起作用。 问题 2:图片上传后出现此错误页面NotImplementedError at /blog/edit/hello/ This backend doesn't support absolute paths.
这是我的终端的错误详细信息
"C:\Users\Fdg\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\files\storage.py", line 123, in path
raise NotImplementedError("This backend doesn't support absolute paths.")
NotImplementedError: This backend doesn't support absolute paths.
[27/Dec/2021 23:49:44] "POST /blog/edit/hello/ HTTP/1.1" 500 118419
这是我用于上传图片的models.py :
blog_cover_image = models.ImageField(upload_to='blog/images/',validators=[validate_file_size,FileExtensionValidator( ['png','jpg'] )],blank=True,null=True)
#image comressing start
if self.blog_cover_image:
img = Image.open(self.blog_cover_image.path)
img.save(self.blog_cover_image.path,quality=20,optimize=True)
#image compression end
虽然我收到此错误,但图像正在 aws S3 存储桶上上传。 为什么我会收到此错误以及如何克服它? 如何在 Django 中为 aws s3 存储桶使用图像压缩?
将路径替换为 url
blog_cover_image = models.ImageField(upload_to='blog/images/',validators=
[validate_file_size,FileExtensionValidator( ['png','jpg']
)],blank=True,null=True)
#image comressing start
if self.blog_cover_image:
img = Image.open(self.blog_cover_image.url)
img.save(self.blog_cover_image.url,quality=20,optimize=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.