This commit is contained in:
@@ -10,7 +10,6 @@ from .serializers import (
|
||||
ProjectSerializer, ProjectFileSerializer,
|
||||
ScoreSerializer, CommentSerializer, ScoreDimensionSerializer
|
||||
)
|
||||
import uuid
|
||||
|
||||
from rest_framework.pagination import PageNumberPagination
|
||||
|
||||
@@ -206,21 +205,7 @@ class ProjectFileViewSet(viewsets.ModelViewSet):
|
||||
|
||||
if not user or project.contestant.user != user:
|
||||
raise serializers.ValidationError("无权上传文件")
|
||||
|
||||
file_obj = serializer.validated_data.get('file')
|
||||
if file_obj:
|
||||
try:
|
||||
from ai_services.services import AliyunTingwuService
|
||||
service = AliyunTingwuService()
|
||||
if service.bucket:
|
||||
ext = file_obj.name.split('.')[-1] if '.' in file_obj.name else ''
|
||||
file_name = f"competitions/projects/{project.id}/{uuid.uuid4()}.{ext}"
|
||||
oss_url = service.upload_to_oss(file_obj, file_name, day=30)
|
||||
serializer.save(file_url=oss_url, file=None)
|
||||
return
|
||||
except Exception as e:
|
||||
print(f"OSS upload failed, using local storage: {e}")
|
||||
|
||||
|
||||
serializer.save()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user