savefiles(e) {
const fileName = e.currentTarget.dataset.name; //获取页面要下载的文件名
console.log(window.wx.env.USER_DATA_PATH);
wx.downloadFile({
url: fileName,
success: res => {
console.log(res);
wx.saveFile({
filePath: res.tempFilePath,
success(r) {
wx.showToast({
title: '保存成功',
icon: 'success',
});
},
fail(err) {
console.log(err);
if (err.errMsg === 'saveImageToPhotosAlbum:fail auth deny') {
wx.openSetting({
success(settingdata) {
if (settingdata.authSetting['scope.writePhotosAlbum']) {
console.log(
'获取权限成功,给出再次点击图片保存到相册的提示。'
);
} else {
console.log(
'获取权限失败,给出不给权限就无法正常使用的提示'
);
}
},
});
}
},
});
},
fail: err => {
console.log(err, '下载失败');
},
});
},
1 api. wx.downloadFile(),只能实现保存临时文件,在小程序本次启动期间可以正常使用。
2 wx.saveFile() 只是将临时文件保存到长期缓存中,只能在微信小程序中能访问到,不能用手机自带的文件查看器查看到
3 web-view组件可以通过模拟浏览器,看情况可以通过浏览器下载。但是,考虑到到可以使用模拟浏览器,那为何不用真的浏览器 , 借助手机浏览器直接下载: 从微信小程序获取文件路,再粘贴路径到浏览器地址栏通过浏览器实现文件下载。
是报错了还是保存本地后找不到文件地址?
我这个Excel在手机端可以下载,模拟器可以下载,PC端就下载不了,求大佬解答一下。
ios只能保存在微信应用目录中,不能保存在文件管理。加showMenu:true
ios下天然没有这个“下载”能力
wx.openDocument
然后就看你手机的能力了,能导出文档的就算下载成功了,不能导出的,叹吧。