话不多说直接上代码
注意踩坑问题:new File 接受的对象参数要使用Blob 对象
export const getUploadFileInfo = async (filePath: string, fileName: string) => {
// 将本地filePath文件转换成 File
try {
// 获取本地文件的图片文件对象
const fileContent = fs.readFileSync(filePath);
// 将本地文件转为blob
const blob = new Blob([fileContent], { type: "image/jpeg" });
// 将blob 转为file
const file = new File([blob], fileName, { type: "image/jpeg" });
// 同步获取本地文件大小 和单位,保留两位小数
const size = (fs.statSync(filePath).size / 1024).toFixed(2);
// 构建的新`FormData`对象
const formData = new FormData();
// 和服务端确认接受的参数名
formData.append("deviceUid", DeviceUid);
formData.append("file", file);
// 上传文件
const { data } = await uploadFile(formData);
// 自定义返回结果
return {
id: String(data),
name: String(fileName),
size: String(size) + "KB",
};
} catch (error) {
console.log(error,'error');
}
};