diff --git a/nkebao/src/api/common.ts b/nkebao/src/api/common.ts index 6e675d3b7..ebe966eb5 100644 --- a/nkebao/src/api/common.ts +++ b/nkebao/src/api/common.ts @@ -1,28 +1,27 @@ -import request from "./request"; -/** - * 通用文件上传方法(支持图片、文件) - * @param {File} file - 要上传的文件对象 - * @param {string} [uploadUrl='/v1/attachment/upload'] - 上传接口地址 - * @returns {Promise} - 上传成功后返回文件url - */ -export async function uploadFile( - file: File, - uploadUrl: string = "/v1/attachment/upload" -): Promise { - try { - // 创建 FormData 对象用于文件上传 - const formData = new FormData(); - formData.append("file", file); - - // 使用 request 方法上传文件,设置正确的 Content-Type - const res = await request(uploadUrl, formData, "POST", { - headers: { - "Content-Type": "multipart/form-data", - }, - }); - - return res.url; - } catch (e: any) { - throw new Error(e?.message || "文件上传失败"); - } -} +import request from "./request"; +/** + * 通用文件上传方法(支持图片、文件) + * @param {File} file - 要上传的文件对象 + * @param {string} [uploadUrl='/v1/attachment/upload'] - 上传接口地址 + * @returns {Promise} - 上传成功后返回文件url + */ +export async function uploadFile( + file: File, + uploadUrl: string = "/v1/attachment/upload" +): Promise { + try { + // 创建 FormData 对象用于文件上传 + const formData = new FormData(); + formData.append("file", file); + + // 使用 request 方法上传文件,设置正确的 Content-Type + const res = await request(uploadUrl, formData, "POST", { + headers: { + "Content-Type": "multipart/form-data", + }, + }); + return res.url; + } catch (e: any) { + throw new Error(e?.message || "文件上传失败"); + } +} diff --git a/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx b/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx index abc55a503..e2d0ba35f 100644 --- a/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx +++ b/nkebao/src/pages/scenarios/plan/new/steps/BasicSettings.tsx @@ -598,6 +598,7 @@ const BasicSettings: React.FC = ({ onChange={async (e) => { const file = e.target.files?.[0]; if (file) { + // 直接上传 try { const url = await uploadFile(file); const newPoster = { @@ -606,14 +607,9 @@ const BasicSettings: React.FC = ({ type: "poster", preview: url, }; - console.log(newPoster); - setCustomPosters((prev) => [...prev, newPoster]); - setSelectedMaterials([newPoster]); - onChange({ ...formData, materials: [newPoster] }); } catch (err) { // 可加toast提示 - log; } e.target.value = ""; }