2026-02-08 11:19:36 +03:30
|
|
|
import boto3
|
|
|
|
|
from botocore.exceptions import NoCredentialsError
|
|
|
|
|
|
2025-11-26 10:30:10 +03:30
|
|
|
STORAGE_ENDPOINT = 'https://s3.rasadyar.com/rasaddam'
|
|
|
|
|
STORAGE_BUCKET_NAME = 'ticket-rasadyar'
|
|
|
|
|
STORAGE_ACCESS_KEY = "zG3ewsbYsTqCmuws"
|
|
|
|
|
STORAGE_SECRET_KEY = 'RInUMB78zlQZp6CNf8+sRoSh2cNDHcGQhXrLnTJ1AuI='
|
2026-02-08 11:19:36 +03:30
|
|
|
|
|
|
|
|
|
|
|
|
|
def upload_to_storage(file_obj, file_name):
|
|
|
|
|
try:
|
|
|
|
|
s3 = boto3.client(
|
|
|
|
|
's3',
|
|
|
|
|
endpoint_url=STORAGE_ENDPOINT,
|
|
|
|
|
aws_access_key_id=STORAGE_ACCESS_KEY,
|
|
|
|
|
aws_secret_access_key=STORAGE_SECRET_KEY
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
s3.upload_fileobj(
|
|
|
|
|
file_obj,
|
|
|
|
|
STORAGE_BUCKET_NAME,
|
|
|
|
|
file_name,
|
|
|
|
|
ExtraArgs={'ACL': 'public-read'} # دسترسی عمومی
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
return f"{STORAGE_ENDPOINT}/{STORAGE_ENDPOINT}/{file_name}"
|
|
|
|
|
|
|
|
|
|
except NoCredentialsError:
|
|
|
|
|
raise Exception("اعتبارنامههای AWS معتبر نیستند")
|
|
|
|
|
except Exception as e:
|
|
|
|
|
raise Exception(f"خطا در آپلود فایل: {e}")
|