小程序
小游戏
企业微信
微信支付
扫描小程序码分享
调用wx.downloadFile接口返回的临时文件类型改变了,请求的url接口后缀名为docx时返回的临时文件后缀名为.txt、请求的url后缀名为doc时返回的临时地址的后缀名为.wsword 。而请求的url后缀名为pdf时正常。
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
我们也遇到了这个问题,明明是一个xlsx的文件,downloadfile下来变成了.txt;
刚刚后端解决了,url里的中文urlencode了一下,下载下来的临时文件后缀名就正常了,可以openDocument打开,你试试。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
wx.downloadFile请求的url为“
http://www.runagain.cn/storage/enterprise/denso/insurance_manual.doc
”,
打印res结果为{tempFilePath: "http://tmp/wxc87b8248f01c07f2.o6zAJs4W109Gw0pNjhvR…X1MFzlSYBw1e59352bf3e8c336badec4b33eadee67.msword", statusCode: 200, errMsg: "downloadFile:ok"},
这样调用wx.openDocument时报错信息:"openDocument:fail filetype not supported"
在wx.openDocument里添加fileType就行了,我也是downloadFile把我后缀名改了。弄了很久。
以下是代码供你参考下
//文件下载 .doc
upload: function (e) {
let _this = this;
let url = e.currentTarget.dataset.url;
let index=e.currentTarget.dataset.index;
if ((url.indexOf(".png") != -1) || (url.indexOf(".jpg") != -1) || (url.indexOf(".jpeg") != -1) || (url.indexOf(".gif") != -1)){
wx.previewImage({
current: url, // 当前显示图片的http链接
urls: [url] // 需要预览的图片http链接列表
})
}else{
var type="";
if(url.indexOf(".doc")!=-1){
type="doc"
} else if (url.indexOf(".docx") != -1){
type=".docx"
} else if (url.indexOf(".xls") != -1) {
type = ".xls"
} else if (url.indexOf(".xlsx") != -1) {
type = ".xlsx"
} else if (url.indexOf(".ppt") != -1) {
type = ".ppt"
} else if (url.indexOf(".pdf") != -1) {
type = ".pdf"
} else if (url.indexOf(".pptx") != -1) {
type = ".pptx"
}
wx.downloadFile({
url: url,
success: function (res) {
console.log(res)
wx.openDocument({
filePath: res.tempFilePath,
fileType: type,
console.log('打开文档成功')
},
fail: function (err) {
console.log(err)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
我们也遇到了这个问题,明明是一个xlsx的文件,downloadfile下来变成了.txt;
刚刚后端解决了,url里的中文urlencode了一下,下载下来的临时文件后缀名就正常了,可以openDocument打开,你试试。
wx.downloadFile请求的url为“
http://www.runagain.cn/storage/enterprise/denso/insurance_manual.doc
”,
打印res结果为{tempFilePath: "http://tmp/wxc87b8248f01c07f2.o6zAJs4W109Gw0pNjhvR…X1MFzlSYBw1e59352bf3e8c336badec4b33eadee67.msword", statusCode: 200, errMsg: "downloadFile:ok"},
这样调用wx.openDocument时报错信息:"openDocument:fail filetype not supported"
在wx.openDocument里添加fileType就行了,我也是downloadFile把我后缀名改了。弄了很久。
以下是代码供你参考下
//文件下载 .doc
upload: function (e) {
let _this = this;
let url = e.currentTarget.dataset.url;
let index=e.currentTarget.dataset.index;
if ((url.indexOf(".png") != -1) || (url.indexOf(".jpg") != -1) || (url.indexOf(".jpeg") != -1) || (url.indexOf(".gif") != -1)){
wx.previewImage({
current: url, // 当前显示图片的http链接
urls: [url] // 需要预览的图片http链接列表
})
}else{
var type="";
if(url.indexOf(".doc")!=-1){
type="doc"
} else if (url.indexOf(".docx") != -1){
type=".docx"
} else if (url.indexOf(".xls") != -1) {
type = ".xls"
} else if (url.indexOf(".xlsx") != -1) {
type = ".xlsx"
} else if (url.indexOf(".ppt") != -1) {
type = ".ppt"
} else if (url.indexOf(".pdf") != -1) {
type = ".pdf"
} else if (url.indexOf(".pptx") != -1) {
type = ".pptx"
}
wx.downloadFile({
url: url,
success: function (res) {
console.log(res)
wx.openDocument({
filePath: res.tempFilePath,
fileType: type,
success: function (res) {
console.log('打开文档成功')
},
fail: function (err) {
console.log(err)
}
})
}
})
}
},