当前位置: 首页 > 知识库问答 >
问题:

javascript - 请问uniapp里, 纯靠前端生成的blob流, 如何下载?

符允晨
2024-04-02

这个blob流不是调用后端接口返回的, 所以没有url。是纯靠前端生成的一个blob流的word文档。
想问一下该如何下载到手机并打开?H5环境和小程序。
如果创建a标签下载, 跑到小程序里就不生效了。

共有1个答案

萧卜霸
2024-04-02

把Blob对象转换成Base64编码字符串

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

判断是小程序环境,使用wx.fileSystemManager.writeFileSync把Base64编码数据写入临时文件中,然后使用wx.downloadFile下载保存的本地临时文件,下载成功后使用wx.openDocument打开文件

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('打开文档成功');        }      });    } }});
 类似资料:
  • 我可以通过这些代码得到一个链接,它可以成功下载一个文件。

  • 这里的APP版本是vue的版本吗?如何升级该版本?

  • 像一些大模型的 API,有的提供了流式的 API,允许一个字一个字来吐出数据。前端应该使用这些 API?

  • 我想在app上实现图片、word、ppt、excel、txt等文档的预览,不要下载预览,有没有什么好的方式可以在线预览的,但是要能阻止文件下载,和手机截屏功能,有人实现过么?

  • 问题内容: 我使用CSS 和属性生成标题和图的编号: 这个(假定合适的浏览器)在任何图像之后都带有漂亮的标签“图1.1”,“图1.2”,依此类推。 问题: 如何从Javascript访问此内容?现在的问题是双重在于我想访问 任一 特定计数器的当前值(在某一DOM节点) 或 所述CSS生成的内容的值(在某一DOM节点) 或 ,很明显,这两个信息。 背景: 我想在链接后面附加指向数字的适当数字,如下所

  • 这个页面中:检验相关、检查相关是两个选项卡,点击某一个,会默认按七天去接口拿数据,也就是说这个页面一打开,就需要调用数据叫下面的数据显示,我想要的效果是第一次打开会调数据拿数据,如果去其它页面再回到这个页面会就保留着之前的数据,不再去重新调用,除非客户做了某个操作再去调数据,这个应该用到哪个生命周期,我试了onReady好像也没行。