原来的代码时和大家一样 网上搜解决方案有说加上这个指定/类型ios就能打开但是我试了不行
let state = e.currentTarget.dataset.suffix //文档类型doc\pdf\word\ppt等
let fileUrl = e.currentTarget.dataset.fileurl //接口
wx.downloadFile({
url: fileUrl, //仅为测试接口
success: function (res) {
var filePath = res.tempFilePath
console.log(filePath)
wx.openDocument({
filePath: filePath,
fileType: state, //网上搜解决方案有说加上这个指定
success: function (res) { //类型ios就能打开但是我试了不行
console.log("打开文档成功")
console.log(res);
},
fail: function (res) {
console.log("fail");
console.log(res)
},
complete: function (res) {
console.log("complete");
console.log(res)
}
})
},
fail: function (res) {
console.log('fail')
console.log(res)
},
complete: function (res) {
console.log('complete')
console.log(res)
}
})
改成如下就ok ,本来是一个虚拟的远程地址不知道为啥ios系统就是解析不了,官方从19年开始有人问他就是不改。换种储存方式,改成本地储存的就行了。
wx.downloadFile 添加 filePath: wx.env.USER_DATA_PATH + "/" + name
var filePath = res.tempFilePath 改成 var filePath = res.filePath 就解决了多传一个name字段
let state = e.currentTarget.dataset.suffix //文档类型doc\pdf\word\ppt等
let fileUrl = e.currentTarget.dataset.fileurl //接口
let name = e.currentTarget.dataset.name //文件名
wx.downloadFile({
url: fileUrl, //仅为测试接口
filePath: wx.env.USER_DATA_PATH + "/" + name, //name是要打开文件的文件名称
success: function (res) {
var filePath = res.filePath
console.log(filePath)
wx.openDocument({
filePath: filePath,
fileType: state, //网上搜解决方案有说加上这个指定
success: function (res) { //类型ios就能打开但是我试了不行
console.log("打开文档成功")
console.log(res);
},
fail: function (res) {
console.log("fail");
console.log(res)
},
complete: function (res) {
console.log("complete");
console.log(res)
}
})
},
fail: function (res) {
console.log('fail')
console.log(res)
},
complete: function (res) {
console.log('complete')
console.log(res)
}
})