UNPKG

tav-ui

Version:
1 lines 7.4 kB
{"version":3,"file":"_download2.mjs","sources":["../../../../../../packages/utils/file/_download.ts"],"sourcesContent":["/*\n * @Author: huyb\n * @Descripttion: 临时方案,框架的好了后即刻废除\n * @Date: 2021-12-09 11:32:01\n */\nimport { isArray } from '../is'\n// import { downloadFile, multiDownLoad } from \"/@/api/file\";\n// 不允许在utils中直接调用组件,用callback抛出去在组件使用的地方调用\n// import { useMessage } from \"@casta-fe-playground/hooks/src/web/useMessage\";\n// const { createMessage } = useMessage();\nexport interface FileItemType {\n // 文件真实id\n actualId: string\n address: string\n appId: number\n businessId: null\n businessKey: null\n createTime: string\n createBy: string | number\n createByName: string\n deleted: number\n fullName: string\n hyperlink: number\n id: number\n moduleId: number\n name: string\n runtime: null\n size: number\n suffix: string\n type: number\n version: number\n moduleCode: string\n typeCode: string\n fileId: any\n}\nconst typeDic = {\n docx: 'application/msword',\n doc: 'application/msword',\n bin: 'application/octet-stream',\n exe: 'application/octet-stream',\n so: 'application/octet-stream',\n dll: 'application/octet-stream',\n pdf: 'application/pdf',\n ai: 'application/postscript',\n xls: 'application/vnd.ms-excel',\n xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n ppt: 'application/vnd.ms-powerpoint',\n pptx: 'application/vnd.ms-powerpoint',\n dir: 'application/x-director',\n js: 'application/x-javascript',\n swf: 'application/x-shockwave-flash',\n xhtml: 'application/xhtml+xml',\n xht: 'application/xhtml+xml',\n zip: 'application/zip',\n mid: 'audio/midi',\n midi: 'audio/midi',\n mp3: 'audio/mpeg',\n rm: 'audio/x-pn-realaudio',\n rpm: 'audio/x-pn-realaudio-plugin',\n wav: 'audio/x-wav',\n bmp: 'image/bmp',\n gif: 'image/gif',\n jpeg: 'image/jpeg',\n jpg: 'image/jpeg',\n png: 'image/png',\n css: 'text/css',\n html: 'text/html',\n htm: 'text/html',\n txt: 'text/plain',\n xsl: 'text/xml',\n xml: 'text/xml',\n mpeg: 'video/mpeg',\n mpg: 'video/mpeg',\n avi: 'video/x-msvideo',\n movie: 'video/x-sgi-movie',\n}\n\nexport function downLoadCallBack(res, name, suffix) {\n if (!res) return\n\n const fileReader = new FileReader()\n fileReader.readAsText(res, 'utf-8')\n fileReader.onload = () => {\n try {\n // const { result } = fileReader;\n // const errorData = JSON.parse(result as string);\n // const { code, msg } = errorData;\n // if (code === \"5001\") {\n // // createMessage.warning(msg);\n // } else {\n // // createMessage.warning(\"请求出错,请稍候重试\");\n // }\n } catch (err) {\n if ((window.navigator as any).msSaveBlob) {\n // IE以及IE内核的浏览器\n try {\n ;(window.navigator as any).msSaveBlob(res, name) // res为接口返回数据,这里请求的时候已经处理了,如果没处理需要在此之前自行处理var data = new Blob([res.data]) 注意这里需要是数组形式的,fileName就是下载之后的文件名\n // window.navigator.msSaveOrOpenBlob(res, fileName); //此方法类似上面的方法,区别可自行百度\n } catch (e) {\n // console.log(e);\n }\n } else {\n const url = window.URL.createObjectURL(new Blob([res], { type: typeDic[suffix] }))\n const link = document.createElement('a')\n link.style.display = 'none'\n link.href = url\n link.setAttribute('download', name) // 文件名\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link) // 下载完成移除元素\n window.URL.revokeObjectURL(url) // 释放掉blob对象\n }\n }\n }\n}\n\nexport const download = (data) => {\n if (isArray(data)) {\n if (data.length == 0) {\n // createMessage.warning(\"请选择要下载的文件\");\n return\n }\n const ids: number[] = []\n data.forEach((v: FileItemType) => {\n ids.push(v.id)\n })\n // multiDownLoad(ids).then((res) => {\n // downLoadCallBack(res, fileName || \"批量下载\", \"zip\");\n // });\n } else {\n if (!data || !data.id) {\n // createMessage.warning(\"请选择要下载的文件\");\n }\n // const file: FileItemType = { ...data };\n // console.log(fileName,file);\n\n // downloadFile(file.id).then(async (res) => {\n // const El: HTMLAnchorElement = window.document.createElement(\"A\");\n // El.setAttribute(\"download\", fileName || file.name);\n // El.setAttribute(\"href\", res.data);\n // El.setAttribute(\"target\", \"_blank\");\n // El.click();\n // });\n }\n}\n"],"names":[],"mappings":"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"}