问题描述:
最近在开发微信小程序项目,在预览和下载PDF文件时碰到了一个问题, ***iOS与安卓系统不兼容.***然后翻看了一些资料.发现
//下载文件
wx.downloadFile({
url: url,
filePath: wx.env.USER_DATA_PATH + '/' + fileTitle+'.pdf',
header: "",
success: function (res) {
console.log(res);
//打开文件
wx.openDocument({
filePath: wx.env.USER_DATA_PATH + '/' + fileTitle+'.pdf',
success: function (res) {
wx.hideLoading();
console.log(res);
console.log("文档打开成功");
},
fail: function (err) {
return handleException(reject, err)
}
})
},
fail: function (err) {
return handleException(reject, err)
}
})
});
上面这段代码在iOS中只能查看文档,不能转发下载文件. 而且这里还有个问题,使用wx的api时,想要保存路径,或者修改文件名,只能把文件保存在
wx.env.USER_DATA_PATH
接着又查阅了资料,发现一篇有价值的文章,其中写着:
比较好的方法是在iOS 中使用web-view,在安卓中使用downloadFile,这个时候就需要一个判定系统的方法。
微信小程序提供了wx.getSystemInfo获取设备信息的接口,直接调用就可以了。
wx.getSystemInfo({
success: function (res) {
that.setData({
systemInfo: res
});
}
})
详情可以参考: https://fatesinger.com/100293