我需要将我的头像保存到我的Amazon S3存储桶中的“avatar”文件夹中。
Bucket
-Static
--Misc
-Media
--Originals
--Avatars
目前,当我创建头像时,它会保存到Originals
“文件夹”。我的目标是将其保存到Avatars
“文件夹”。
以下是我创建和保存头像的代码
def create_avatar(self):
import os
from PIL import Image
from django.core.files.storage import default_storage as storage
if not self.filename:
return ""
file_path = self.filename.name
filename_base, filename_ext = os.path.splitext(file_path)
thumb_file_path = "%s_thumb.jpg" % filename_base
if storage.exists(thumb_file_path):
return "exists"
try:
# resize the original image and return url path of the thumbnail
f = storage.open(file_path, 'r')
image = Image.open(f)
width, height = image.size
size = 128, 128
image.thumbnail(size, Image.ANTIALIAS)
f_thumb = storage.open(thumb_file_path, "w")
image.save(f_thumb, "JPEG", quality=90)
f_thumb.close()
return "success"
except:
return "error"
答案 0 :(得分:0)
我可以通过使用简单的python replace()
函数重命名文件路径,将头像保存到所需的“文件夹”。
如果其他人需要在S3存储桶中“移动”文件
,这就成功了thumb_file_path = thumb_file_path.replace('originals/', 'avatar/')