如何下载和打开前端生成的 Blob 流文件?

如何下载和打开前端生成的 blob 流文件?

如何下载前端生成的 blob 流文件

问题详情:
我们在 uniapp 中纯前端生成了一个 blob 流的 word 文档,但是没有 url。如何在 h5 环境和小程序中下载并打开这个文件?

答案:

解决方案 1:

  1. 将 blob 对象转换成 base64 编码字符串。
  2. 如果是小程序环境,则使用 wx.filesystemmanager.writefilesync 将 base64 编码数据写入临时文件中。
  3. 使用 wx.downloadfile 下载保存的本地临时文件。
  4. 下载成功后,使用 wx.opendocument 打开文件。

代码示例:

let reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = function() {
  let base64data = reader.result;
};

if (uni.getSystemInfoSync().platform === 'ios') {
  // 小程序环境
  wx.fileSystemManager.writeFileSync(wx.env.USER_DATA_PATH + '/tempFile.txt', base64data.split(',')[1], 'base64');
  wx.downloadFile({
    url: wx.env.USER_DATA_PATH + '/tempFile.txt',
    success: function(res) {
      if (res.statusCode === 200) {
        wx.openDocument({
          filePath: res.tempFilePath,
          success: function(res) {
            console.log('打开文档成功');
          }
        });
      }
    }
  });
}

以上就是如何下载和打开前端生成的 Blob 流文件?的详细内容,更多请关注硕下网其它相关文章!