From 6108dd3346453410c9151bbc56fce40b2d4dc2cf Mon Sep 17 00:00:00 2001 From: ngfchl Date: Fri, 10 Apr 2026 12:39:23 +0800 Subject: [PATCH] =?UTF-8?q?update.=20=E5=8D=87=E7=BA=A7=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E6=94=AF=E6=8C=81=E6=8C=89=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E7=A7=8D=E7=B1=BB=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base/views.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/base/views.py b/base/views.py index 51d13aa..796fde9 100644 --- a/base/views.py +++ b/base/views.py @@ -58,24 +58,24 @@ UPLOAD_DIR = Path("media/uploads") UPLOAD_DIR.mkdir(parents=True, exist_ok=True) -@router.post("/upload/") -def upload_file(request, upload: UploadedFile = File(...)): +@router.post("/upload/{category}") +def upload_file(request, category: str, file: UploadedFile = File(...), ): try: # 计算 md5 - md5 = hashlib.md5(upload.read()).hexdigest() - upload.seek(0) # 重置文件指针 + md5 = hashlib.md5(file.read()).hexdigest() + file.seek(0) # 重置文件指针 - ext = upload.name.split('.')[-1].lower() + ext = file.name.split('.')[-1].lower() filename = f"{md5}.{ext}" - upload_dir = os.path.join(settings.MEDIA_ROOT, f"uploads/") + upload_dir = os.path.join(settings.MEDIA_ROOT, f"uploads/{category}/") os.makedirs(upload_dir, exist_ok=True) file_path = os.path.join(upload_dir, filename) with open(file_path, "wb") as f: - f.write(upload.read()) + f.write(file.read()) - url = f"{settings.MEDIA_URL}uploads/{datetime.today().strftime('%Y/%m/%d')}/{filename}" + url = f"{settings.MEDIA_URL}uploads/{category}/{filename}" return {"url": url} except Exception as e: logger.exception("Upload failed")