【问题标题】:Django image compression not working for aws s3 bucketDjango 图像压缩不适用于 aws s3 存储桶
【发布时间】:2023-03-29 07:40:01
【问题描述】:

我尝试在上传到 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 存储桶使用图像压缩?

【问题讨论】:

    标签: python-3.x django amazon-web-services amazon-s3


    【解决方案1】:

    替换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)
    

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 1970-01-01
      • 2022-01-06
      • 2020-10-01
      • 2017-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多