28 lines
847 B
TypeScript
28 lines
847 B
TypeScript
import request from "./request";
|
|
/**
|
|
* 通用文件上传方法(支持图片、文件)
|
|
* @param {File} file - 要上传的文件对象
|
|
* @param {string} [uploadUrl='/v1/attachment/upload'] - 上传接口地址
|
|
* @returns {Promise<string>} - 上传成功后返回文件url
|
|
*/
|
|
export async function uploadFile(
|
|
file: File,
|
|
uploadUrl: string = "/v1/attachment/upload",
|
|
): Promise<string> {
|
|
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 || "文件上传失败");
|
|
}
|
|
}
|