Image 有没有办法将文件从url存储到s3';s的特定文件夹,不只是进入根目录?
找到了一种将文件从url上传到s3 bucket的方法,但是有没有一种方法可以将其定向到特定文件夹或创建文件夹 我使用下面的代码将其存储到s3的根目录中Image 有没有办法将文件从url存储到s3';s的特定文件夹,不只是进入根目录?,image,file,amazon-web-services,amazon-s3,upload,Image,File,Amazon Web Services,Amazon S3,Upload,找到了一种将文件从url上传到s3 bucket的方法,但是有没有一种方法可以将其定向到特定文件夹或创建文件夹 我使用下面的代码将其存储到s3的根目录中 def save_image_s3(self, img_url, img_name): """Saves the image in img_url into S3 with the name img_name""" conn = boto.connect_s3(settings.AWS_ACCESS_KEY_ID, settin
def save_image_s3(self, img_url, img_name):
"""Saves the image in img_url into S3 with the name img_name"""
conn = boto.connect_s3(settings.AWS_ACCESS_KEY_ID, settings.AWS_SECRET_ACCESS_KEY)
bucket = conn.get_bucket(settings.AWS_STORAGE_BUCKET_NAME)
k = Key(bucket)
k.key = img_name
fp = StringIO.StringIO(urllib2.urlopen(img_url).read())
k.set_contents_from_file(fp)
return img_name
同样,这会将其保存到我的bucket的根目录中,但我不确定如何将其保存到现有文件夹中,或者在文件夹不存在时创建新文件夹
提前感谢您非常接近,您可以将
k.key
设置为桶中对象的完整“路径”。
例如:
k.key = 'photos/%s' % img_name
<>这将把它保存到一个名为“代码>照片”的文件夹中。不需要首先创建文件夹本身,因为S3文件夹实际上并不存在,但在对象键中出现一个或多个
/
意味着S3文件夹。不要在开始时添加/
。您非常接近,您可以将k.key
设置为bucket中对象的完整“路径”。
例如:
k.key = 'photos/%s' % img_name
<>这将把它保存到一个名为“代码>照片”的文件夹中。不需要首先创建文件夹本身,因为S3文件夹实际上并不存在,但在对象键中出现一个或多个/
意味着S3文件夹。不要在开头添加/