解决登录和oss问题
This commit is contained in:
1 parent
30c2e44dc0
commit
cd007e2f6a
15 files changed
+154
-12
No files matched your search
@@ -58,7 +58,7 @@ from ..schemas import (
|
||||
DetailPatch,
|
||||
)
|
||||
from ..seed import create_media
|
||||
from ..media_urls import resolve_media_url
|
||||
from ..media_urls import normalized_public_base_url, resolve_media_url
|
||||
from ..serializers import concierge_advisor_dict, detail_record_dict, encode_value, lead_dict, media_model_dict, model_dict
|
||||
from .shared import site_config
|
||||
|
||||
@@ -168,6 +168,7 @@ def oss_settings():
|
||||
"OSS_ACCESS_KEY_ID": settings.oss_access_key_id,
|
||||
"OSS_ACCESS_KEY_SECRET": settings.oss_access_key_secret,
|
||||
"OSS_ENDPOINT": settings.oss_endpoint,
|
||||
"OSS_PUBLIC_BASE_URL": settings.oss_public_base_url,
|
||||
"OSS_BUCKET_NAME": settings.oss_bucket_name,
|
||||
}
|
||||
missing = [key for key, value in values.items() if not (value and value.strip())]
|
||||
@@ -193,6 +194,10 @@ def upload_image_to_oss(file_obj, key: str, mime_type: str, size_bytes: int) ->
|
||||
settings = oss_settings()
|
||||
bucket = settings.oss_bucket_name.strip()
|
||||
scheme, host = normalized_oss_host(settings.oss_endpoint, bucket)
|
||||
try:
|
||||
public_scheme, public_host = normalized_public_base_url(settings.oss_public_base_url)
|
||||
except (TypeError, ValueError):
|
||||
media_error(503, "OSS 公网访问地址配置不正确", "MEDIA_STORAGE_INVALID_PUBLIC_URL")
|
||||
date = formatdate(usegmt=True)
|
||||
canonical_resource = f"/{bucket}/{key}"
|
||||
string_to_sign = f"PUT\n\n{mime_type}\n{date}\n{canonical_resource}"
|
||||
@@ -219,7 +224,7 @@ def upload_image_to_oss(file_obj, key: str, mime_type: str, size_bytes: int) ->
|
||||
media_error(502, "OSS 上传失败", "MEDIA_STORAGE_UPLOAD_FAILED")
|
||||
finally:
|
||||
connection.close()
|
||||
return urlunsplit((scheme, host, f"/{quoted_key}", "", ""))
|
||||
return urlunsplit((public_scheme, public_host, f"/{quoted_key}", "", ""))
|
||||
|
||||
|
||||
def audit(db: Session, actor_id: str | None, action: str, entity: str, entity_id: str | None = None, after=None, before=None) -> None:
|
||||
@@ -1551,4 +1556,3 @@ def upload_media_asset(
|
||||
db.commit()
|
||||
return success_response(media_model_dict(asset), status_code=status.HTTP_201_CREATED)
|
||||
|
||||
|
||||
Reference in new issue
Block a user