如何下载和打开前端生成的 Blob 流文件?
如何下载前端生成的 blob 流文件
问题详情:
我们在 uniapp 中纯前端生成了一个 blob 流的 word 文档,但是没有 url。如何在 h5 环境和小程序中下载并打开这个文件?
答案:
解决方案 1:
- 将 blob 对象转换成 base64 编码字符串。
- 如果是小程序环境,则使用 wx.filesystemmanager.writefilesync 将 base64 编码数据写入临时文件中。
- 使用 wx.downloadfile 下载保存的本地临时文件。
- 下载成功后,使用 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 流文件?的详细内容,更多请关注硕下网其它相关文章!