def upload(self, resource):
"""
Upload a resource.
:param resource: An instance of `django_s3.resource.Resource`
"""
try:
folder_name = url_pattern.match(resource.name).groupdict()['folder_name']
key_holder = Key(self.__bucket)
key_holder.key = "{}/{}/{}".format(settings.S3_CATEGORY_MAP[resource.category_code],
folder_name,
resource.name)
key_holder.set_contents_from_filename(os.path.join(django_s3_settings.S3_UPLOAD_DIR_PATH, resource.name))
key_holder.make_public()
except Exception as err:
Transport.logger.error(_("Error uploading file: {}. Error: {}".format(resource.name, err)))
# Right now we don't know what exceptions are expected here, we propagate the error
# up. If we found some exception then we'll add the proper handler.
raise
评论列表
文章目录