Browse Source

全文检索优化

xiaoqiao 3 months ago
parent
commit
b4b372729a
2 changed files with 14 additions and 5 deletions
  1. 13 5
      vue/src/components/basic/file-preview/index.vue
  2. 1 0
      vue/src/utils/downloadFile.ts

+ 13 - 5
vue/src/components/basic/file-preview/index.vue

@@ -5,6 +5,7 @@
   <a-modal :visible="visible" :ok-button-props="{ style: { display: 'none' } }"
            wrap-class-name="full-modal" style="text-align: center"
            cancel-text="关闭" @cancel="visible = !visible">
+    <input type="file" @change="changeHandle"/>
     <a-spin tip="加载中..." size="small" :spinning="spinning">
       <vue-office-excel v-if="fileSuffix=='xlsx'" :src="previewUrl" style="height: 90vh;"
                         @rendered="rendered" @error="renderedError"/>
@@ -46,7 +47,7 @@ export default defineComponent({
   setup(props) {
     const visible = ref<boolean>(false);
     const spinning = ref<boolean>(false);
-    const previewUrl = ref<Blob>();
+    const previewUrl = ref<any>();
     const fileSuffix = ref("");
 
     function loadFile() {
@@ -54,7 +55,6 @@ export default defineComponent({
       let filePath = stripHtmlTags(props.filePath);
       fileSuffix.value = fileName?.substring(fileName?.lastIndexOf('.') + 1).toLowerCase();
 
-      debugger
       if (props.accept?.indexOf(fileSuffix.value) < 0) {
         $message.error("不支持预览的文件格式!");
         return;
@@ -65,7 +65,8 @@ export default defineComponent({
         fileName: fileName,
         filePath: filePath
       }, "获取文件失败!").then(res => {
-        previewUrl.value = res.data;
+        previewUrl.value = new Blob([res.data], {type: "application/octet-stream"});
+        // previewUrl.value = res.data;
         if (previewUrl.value == undefined) {
           $message.error("文件加载失败!");
           return;
@@ -73,7 +74,14 @@ export default defineComponent({
         visible.value = true;
       })
     }
-
+   function  changeHandle(event) {
+      let file = event.target.files[0]
+      let fileReader = new FileReader()
+      fileReader.readAsArrayBuffer(file)
+      fileReader.onload = () => {
+        previewUrl.value = fileReader.result;
+      }
+    }
     function stripHtmlTags(htmlString: string): string {
       return htmlString.replace(/<[^>]+>/g, '');
     }
@@ -92,7 +100,7 @@ export default defineComponent({
       visible, fileSuffix,
       previewUrl,
       loadFile,
-      rendered, renderedError,
+      rendered, renderedError,changeHandle,
       spinning,
     };
   }

+ 1 - 0
vue/src/utils/downloadFile.ts

@@ -215,6 +215,7 @@ export const  handleloadByGet = async <T = any>(url, params, errorMsg): Promise<
         Authorization: token,
       },
     },).then((res) => {
+      console.log("res:"+res.data);
       if(res.status==200) {
        // const url = window.URL || window.webkitURL;
         //let link = url.createObjectURL(res.data);