From 6782f188f5fe670c3035b93a2bf003c1d9f84f5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B6=85=E7=BA=A7=E8=80=81=E7=99=BD=E5=85=94?= Date: Tue, 9 Sep 2025 16:33:27 +0800 Subject: [PATCH] =?UTF-8?q?refactor(Upload):=20=E7=A7=BB=E9=99=A4=E8=B0=83?= =?UTF-8?q?=E8=AF=95=E6=97=A5=E5=BF=97=E5=B9=B6=E4=BC=98=E5=8C=96=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=8A=E4=BC=A0=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除SimpleFileUpload组件中的console调试日志 - 重构uploadFile方法,使用axios替代原有request方法 - 添加请求头认证和超时设置 - 改进错误处理,返回更具体的错误信息 --- Cunkebao/src/api/common.ts | 30 +++++++++++-------- .../Upload/SimpleFileUpload/index.tsx | 5 ---- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Cunkebao/src/api/common.ts b/Cunkebao/src/api/common.ts index 351e3c908..d6147d80e 100644 --- a/Cunkebao/src/api/common.ts +++ b/Cunkebao/src/api/common.ts @@ -1,4 +1,6 @@ -import request from "./request"; +import axios from "axios"; +import { useUserStore } from "@/store/module/user"; + /** * 通用文件上传方法(支持图片、文件) * @param {File} file - 要上传的文件对象 @@ -10,22 +12,26 @@ export async function uploadFile( uploadUrl: string = "/v1/attachment/upload", ): Promise { try { - console.log("uploadFile 接收到的文件:", file); - console.log("上传URL:", uploadUrl); - // 创建 FormData 对象用于文件上传 const formData = new FormData(); formData.append("file", file); - console.log("FormData 创建完成"); - console.log("FormData 内容:", formData.get("file")); + // 获取用户token + const { token } = useUserStore.getState(); - // 使用 request 方法上传文件,让浏览器自动设置 Content-Type - const res = await request(uploadUrl, formData, "POST"); - console.log("上传响应:", res); - return res.url; + const fullUrl = `${(import.meta as any).env?.VITE_API_BASE_URL || "/api"}${uploadUrl}`; + + // 直接使用 axios 上传文件 + const response = await axios.post(fullUrl, formData, { + headers: { + Authorization: token ? `Bearer ${token}` : undefined, + }, + timeout: 20000, + }); + return response?.data?.data?.url || ""; } catch (e: any) { - console.error("uploadFile 错误:", e); - throw new Error(e?.message || "文件上传失败"); + const errorMessage = + e.response?.data?.message || e.message || "文件上传失败"; + throw new Error(errorMessage); } } diff --git a/Cunkebao/src/components/Upload/SimpleFileUpload/index.tsx b/Cunkebao/src/components/Upload/SimpleFileUpload/index.tsx index 0556ce448..eda775ba6 100644 --- a/Cunkebao/src/components/Upload/SimpleFileUpload/index.tsx +++ b/Cunkebao/src/components/Upload/SimpleFileUpload/index.tsx @@ -38,10 +38,6 @@ const SimpleFileUpload: React.FC = ({ if (!files || files.length === 0) return; const file = files[0]; - console.log("选择的文件:", file); - console.log("文件名:", file.name); - console.log("文件大小:", file.size); - console.log("文件类型:", file.type); if (!validateFile(file)) { if (fileInputRef.current) { @@ -53,7 +49,6 @@ const SimpleFileUpload: React.FC = ({ setUploading(true); try { - console.log("开始上传文件..."); const fileUrl = await uploadFile(file); console.log("上传成功,文件URL:", fileUrl); onFileUploaded?.(fileUrl);