File size: 2,042 Bytes
			
			| 8c06509 dd4cbfc 8c06509 4056097 40a88fa dd4cbfc 4056097 8c06509 4056097 40a88fa dd4cbfc 8c06509 dd4cbfc | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | import api from '@/utils/api';
import registerServer from '@/utils/registerServer';
import request from '@/utils/request';
import pureRequest from 'axios';
const {
  listFile,
  removeFile,
  uploadFile,
  renameFile,
  getAllParentFolder,
  createFolder,
  connectFileToKnowledge,
  get_document_file,
  getFile,
} = api;
const methods = {
  listFile: {
    url: listFile,
    method: 'get',
  },
  removeFile: {
    url: removeFile,
    method: 'post',
  },
  uploadFile: {
    url: uploadFile,
    method: 'post',
  },
  renameFile: {
    url: renameFile,
    method: 'post',
  },
  getAllParentFolder: {
    url: getAllParentFolder,
    method: 'get',
  },
  createFolder: {
    url: createFolder,
    method: 'post',
  },
  connectFileToKnowledge: {
    url: connectFileToKnowledge,
    method: 'post',
  },
  getDocumentFile: {
    url: getFile,
    method: 'get',
    responseType: 'blob',
  },
} as const;
const fileManagerService = registerServer<keyof typeof methods>(
  methods,
  request,
);
export default fileManagerService;
export const getDocumentFile = (documentId: string) => {
  return pureRequest(getFile + '/' + documentId, {
    responseType: 'blob',
    method: 'get',
    // headers: {
    //   'content-type':
    //     'text/plain;charset=UTF-8, application/vnd.openxmlformats-officeddocument.spreadsheetml.sheet;charset=UTF-8',
    // },
    // parseResponse: false,
    // getResponse: true,
  })
    .then((res) => {
      const x = res?.headers?.get('content-disposition');
      const y = res?.headers?.get('Content-Type');
      console.info(res);
      console.info(x);
      console.info('Content-Type', y);
      return res;
    })
    .then((res) => {
      // const objectURL = URL.createObjectURL(res);
      // let btn = document.createElement('a');
      // btn.download = '文件名.pdf';
      // btn.href = objectURL;
      // btn.click();
      // URL.revokeObjectURL(objectURL);
      // btn = null;
      return res;
    })
    .catch((err) => {
      console.info(err);
    });
};
 |