前端下载文件

37 阅读1分钟

content为文件内容,需要在内部定义下载的文件类型,filename为文件名字,内部可以进行文件格式的判断


      console.log(row.reportCode);
      const data = await this.$get('/report/gateway/getGatewayACK', {
        as2TransferRecordId: row.as2TransferRecordId,
      });
      console.log(data);
      function funDownload(content, filename) {
        // 创建隐藏的可下载链接
        var eleLink = document.createElement('a');
        //定义文件名字
        eleLink.download = filename;
        //隐藏a标签
        eleLink.style.display = 'none';
        // 转换为blob数据
        var blob = new Blob([content], { type: 'text/xml' });
        // type的类型
        // if (data.mediaType == 'Doc' || data.mediaType == 'Docx') {
        //   type = 'application/msword';
        //   type2 = ['.doc', '.docx'];
        // } else if (data.mediaType == 'XLS' || data.mediaType == 'XLSX') {
        //   type = 'application/vnd.ms-excel';
        //   type2 = ['.xlsx', '.xls'];
        // } else if (data.mediaType == 'PDF') {
        //   type = 'application/pdf';
        //   type2 = ['.pdf'];
        // } else if (data.mediaType == 'TXT') {
        //   type = 'text/plain';
        // } else if (data.mediaType == 'RTF') {
        //   type = 'text/rtf';
        // } else if (data.mediaType == 'TIFF' || data.mediaType == 'TIF') {
        //   type = 'image/tiff';
        // } else if (data.mediaType == 'JPG' || data.mediaType == 'JPEG') {
        //   type = 'image/jpeg';
        // } else if (data.mediaType == 'DICOM') {
        //   type = 'application/dicom';
        // }
        //创建下载标签
        eleLink.href = URL.createObjectURL(blob);
        //添加进body
        document.body.appendChild(eleLink);
        // 进行点击
        eleLink.click();
        // 进行移除
        document.body.removeChild(eleLink);
      }
      funDownload(data, `ACK_${row.reportCode}`);