Browse Source

Merge branch 'beta'

lsc 2 months ago
parent
commit
aace58a021
1 changed files with 53 additions and 0 deletions
  1. 53 0
      js/Common/uploadR2R.js

+ 53 - 0
js/Common/uploadR2R.js

@@ -0,0 +1,53 @@
+export async function uploadFile({ file, 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 uuid = uuidv4();
+  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 {
+    await fetch("https://r2rserver.cocorobo.cn/v3/documents", {
+      method: 'POST',
+      body: formData,
+      headers: {
+        'Content-Type': 'multipart/form-data'
+      }
+    });
+
+    let params = {
+      n: file.name,
+      did: uuid,
+      uid: userid,
+      fid: folderid,
+      mofid: moFolderid !== folderid ? moFolderid : ""
+    };
+    const res2 = await fetch('https://pbl.cocorobo.cn/api/pbl/addFile', {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json'
+      },
+      body: JSON.stringify([params])
+    });
+    console.log("上传成功")
+    return { code: 200, msg: "上传成功"}
+  } catch (err) {
+    console.error(err);
+    console.error("上传失败");
+    return { code: 400, msg: "上传失败"}
+  }
+}