uniapp使用uni.downloadFile下载客户端传过来的文件地址,我是.docx,为什么下载之后变成了.pdf ?
uniapp使用uni.downloadFile下载客户端传过来的文件地址,我是.docx,但是下载之后变成了.pdf
export const saveFile=(url,open=true)=>{ url = encodeURI(url)
console.log('ccc', url)
// return
return new Promise((resolve,reject)=>{
uni.downloadFile({
url,
//
success: function (res) {
console.log(res)
uni.saveFile({
tempFilePath:res.tempFilePath,
success: function (res) {
console.log('保存成功')
console.log(res)
let {savedFilePath}=res
let tipContent=open ? `文件保存成功,保存路径 ${savedFilePath},是否打开?` : `文件保存成功,保存路径 ${savedFilePath}`
if(open){
showConfirm(tipContent).then(confirm=>{
uni.showLoading({title:'正在打开'})
uni.openDocument({
filePath:savedFilePath,
fileType:'docx',
success: function (openRes) {
resolve(savedFilePath)
},
complete:function (){
uni.hideLoading()
}
})
})
}else{
showAlert(tipContent)
}
},
fail:function (err){
console.log('保存失败')
console.log(err)
showAlert('保存失败',err)
reject(err)
},
complete:function (){
uni.hideLoading()
}
})
},
fail:function (err){
reject(err)
},
complete:function (){
uni.hideLoading()
}
})
})
}
这里第一次打印url都还是doc文件,但是经过downloadFile success(res)里却变成了 pdf文件
回答:
- 试试让后端通过Content-Disposition这个响应头来设置文件名,如
attachment; filename="xxx.docx"
- 如果可以是修改文件名的客户端,如微信小程序(看你截图像是),可以指定下文件名
回答:
1.url后缀为docx 文件内容不一定为docx
2.如果是微信小程序 下载时指定文件名呗
以上是 uniapp使用uni.downloadFile下载客户端传过来的文件地址,我是.docx,为什么下载之后变成了.pdf ? 的全部内容, 来源链接: utcz.com/p/935365.html