登录
首页 >  文章 >  前端

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

时间:2024-11-12 20:15:55 455浏览 收藏

在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《如何下载和打开前端生成的 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 流文件?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>