window.uploadFile = async function ({ file, uuid, userid, folderid, moFolderid }) { const allowedExtensions = [ "csv", "xls", "xlsx", "md", "pdf", "txt", "ppt", "pptx", "docx" ]; const fileExtension = file.name.split('.').pop().toLowerCase(); if (!allowedExtensions.includes(fileExtension)) { return { code: 400, msg: `不支持的文件格式: ${file.name}` } } let formData = new FormData(); const timestamp = Date.now(); const baseName = file.name.slice(0, -(fileExtension.length + 1)); let string = [folderid, moFolderid].filter(id => id); formData.append('file', new File([file], `${baseName}${timestamp}.${fileExtension}`)); formData.append('collection_ids', JSON.stringify(string)); formData.append('id', uuid); formData.append('metadata', JSON.stringify({ title: file.name, collection_ids: string })); formData.append('ingestion_mode', "fast"); try { fetch("https://r2rserver.cocorobo.cn/v3/documents", { method: 'POST', body: formData, headers: { 'Accept': 'application/json', } }); let params = new URLSearchParams({ n: file.name, did: uuid, uid: userid, fid: folderid, mofid: moFolderid !== folderid ? moFolderid : "" }).toString(); const res2 = await fetch('https://r2rapi.cocorobo.cn/file/addFile', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: params }); console.log("上传成功"); return { code: 200, msg: "上传成功" } } catch (err) { console.error(err); console.error("上传失败"); return { code: 400, msg: "上传失败" } } }