上传使用自定义名称
This commit is contained in:
@@ -7,7 +7,7 @@ from sqlalchemy.orm import aliased
|
||||
from app.models.generated_resource import GeneratedResource
|
||||
from app.models.resources_material import ResourcesMaterial
|
||||
from app.schemas.resources_material import GeneratedResourceOut, ResourcesMaterialOut
|
||||
|
||||
from app.services.resource_signed_url_service import build_resource_signed_url
|
||||
|
||||
async def get_resources_material_list(
|
||||
db: AsyncSession,
|
||||
@@ -69,10 +69,8 @@ async def get_resources_material_list(
|
||||
if generated_resource:
|
||||
resource = GeneratedResourceOut(
|
||||
file_name=generated_resource.file_name,
|
||||
resource_url=generated_resource.resource_url,
|
||||
remote_url=generated_resource.remote_url,
|
||||
resource_url = build_resource_signed_url(generated_resource.resource_url) if generated_resource.resource_url else "",
|
||||
storage_type=generated_resource.storage_type,
|
||||
storage_path=generated_resource.storage_path,
|
||||
file_size_bytes=generated_resource.file_size_bytes,
|
||||
source_model=generated_resource.source_model,
|
||||
source_model_module=generated_resource.source_model_module,
|
||||
|
||||
@@ -217,9 +217,11 @@ async def _upload_single_material(
|
||||
resource_id: str,
|
||||
db=None
|
||||
) -> dict:
|
||||
own_db = False
|
||||
if db is None:
|
||||
from app.models.base import async_session
|
||||
db = async_session()
|
||||
own_db = True
|
||||
|
||||
try:
|
||||
oauth = await db.execute(
|
||||
@@ -253,6 +255,7 @@ async def _upload_single_material(
|
||||
|
||||
resource_type = resource.resource_type
|
||||
storage_path = resource.storage_path
|
||||
file_name = resource.file_name
|
||||
|
||||
if resource_type not in ["image", "video"]:
|
||||
return {
|
||||
@@ -267,10 +270,10 @@ async def _upload_single_material(
|
||||
}
|
||||
|
||||
return await _upload_to_juliang(
|
||||
oauth_id, storage_path, resource_type, advertiser_id, resource, db, user_id
|
||||
oauth_id, storage_path, resource_type, advertiser_id, resource, db, user_id, file_name
|
||||
)
|
||||
finally:
|
||||
if db is not None:
|
||||
if own_db and db is not None:
|
||||
await db.close()
|
||||
|
||||
|
||||
@@ -282,8 +285,13 @@ async def _upload_to_juliang(
|
||||
resource: GeneratedResource,
|
||||
db,
|
||||
current_user_id: str,
|
||||
file_name: str,
|
||||
) -> dict:
|
||||
filename = os.path.basename(storage_path)
|
||||
#如果file_name不等于空,那么就是用file_name,否则用storage_path的文件名
|
||||
if file_name:
|
||||
filename = file_name
|
||||
else:
|
||||
filename = os.path.basename(storage_path)
|
||||
|
||||
if resource_type == "image":
|
||||
if resource.file_size_bytes > 5 * 1024 * 1024:
|
||||
|
||||
Reference in New Issue
Block a user