|
@@ -94,7 +94,7 @@ class S3StorageProvider(StorageProvider):
|
|
aws_secret_access_key=S3_SECRET_ACCESS_KEY,
|
|
aws_secret_access_key=S3_SECRET_ACCESS_KEY,
|
|
)
|
|
)
|
|
self.bucket_name = S3_BUCKET_NAME
|
|
self.bucket_name = S3_BUCKET_NAME
|
|
- self.key_prefix = S3_KEY_PREFIX
|
|
|
|
|
|
+ self.key_prefix = S3_KEY_PREFIX if S3_KEY_PREFIX else ""
|
|
|
|
|
|
def upload_file(self, file: BinaryIO, filename: str) -> Tuple[bytes, str]:
|
|
def upload_file(self, file: BinaryIO, filename: str) -> Tuple[bytes, str]:
|
|
"""Handles uploading of the file to S3 storage."""
|
|
"""Handles uploading of the file to S3 storage."""
|
|
@@ -150,7 +150,7 @@ class S3StorageProvider(StorageProvider):
|
|
|
|
|
|
# The s3 key is the name assigned to an object. It excludes the bucket name, but includes the internal path and the file name.
|
|
# The s3 key is the name assigned to an object. It excludes the bucket name, but includes the internal path and the file name.
|
|
def _extract_s3_key(self, full_file_path: str) -> str:
|
|
def _extract_s3_key(self, full_file_path: str) -> str:
|
|
- return ''.join(full_file_path.split("//")[1].split("/")[1:])
|
|
|
|
|
|
+ return '/'.join(full_file_path.split("//")[1].split("/")[1:])
|
|
|
|
|
|
def _get_local_file_path(self, s3_key: str) -> str:
|
|
def _get_local_file_path(self, s3_key: str) -> str:
|
|
return f"{UPLOAD_DIR}/{s3_key.split('/')[-1]}"
|
|
return f"{UPLOAD_DIR}/{s3_key.split('/')[-1]}"
|