
如何下载前端生成的 blob 流文件
问题详情:
我们在 uniapp 中纯前端生成了一个 blob 流的 word 文档,但是没有 url。如何在 h5 环境和小程序中下载并打开这个文件?
答案:
解决方案 1:
具有餐馆发布、菜式发布、信息发布、FB活动聚会和会员交流等互动功能和强大的文章发布、图片展示、下载、广告管理等网站内容管理功能。具有灵活的会员权限控制和会员管理系统;灵活的可视化模版引擎可满足个性化的美食门户建站需求;支持HTML静态页面生成和多语言支持;适于创建城市美食门户网站。v5.1版本增加了多项功能,支持了PHP5+MYSQL5环境,前台网站插件开放源码,更利于个性化的美食网站开发。
立即学习“前端免费学习笔记(深入)”;
- 将 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('打开文档成功');
}
});
}
}
});
}









