import {request} from "@cqsjjb/jjb-common-lib/http"; import { useState } from "react"; /** * 导入文件 */ export default function useImportFile() { // loading状态 const [loading, setLoading] = useState(false); // 导入文件 const importFile = (url, options) => { setLoading(true); return new Promise((resolve, reject) => { const { files = [], params = {} } = options const formData = new FormData(); // 将文件添加到formData中 files.forEach((f) => { f.originFileObj && formData.append("file", f.originFileObj); }); // 将额外携带的参数添加到formData中 Object.keys(params).forEach((key) => { formData.append(key, params[key]); }); // 发送请求 request(url, "post", formData, { "Content-Type": "multipart/form-data" }) .then((res) => { resolve(res); }) .catch((err) => { reject(err); }) .finally(() => { setLoading(false); }); }); }; return [loading, importFile]; }