wx.downloadFile
下載文件資源到本地。客戶端直接發起一個 HTTPS GET 請求,返回文件的本地臨時路徑 (本地路徑),
wx.downloadFile({
url: 'https://example.com/audio/123', //僅為示例,並非真實的資源
success (res) {
// 只要服務器有響應數據,就會把響應內容寫入文件並進入 success 回調,業務需要自行判斷是否下載到了想要的內容
if (res.statusCode === 200) {
wx.playVoice({
filePath: res.tempFilePath
})
}
}
})
使用wx.downloadFile會返回一個臨時路徑 根據微信小程序提供的api wx.saveFile(Object object) 方法保存到本地
wx.chooseImage({
success: function(res) {
const tempFilePaths = res.tempFilePaths
wx.saveFile({
tempFilePath: tempFilePaths[0],
success (res) {
const savedFilePath = res.savedFilePath
}
})
}
})
發現在本地文件加中找不到所下載的文件於是輸出文件臨時地址路徑,顯示路徑是“wxfile://store_543536f534.pdf”。科室在手機內存管理中查詢不到 網上搜索發現文件存儲在 (手機\內部存儲\tencent\MicroMsg\wxanewfiles\一個很長名字的文件夾\)這個文件夾下面,科室去查找還是沒有找到我下載文檔
在網上尋找 找到一篇解決文章結合自身代碼調試成功
var filePath = res.tempFilePath;
//#ifdef MP-WEIXIN
const FileSystemManager = wx.getFileSystemManager()
FileSystemManager.saveFile({//下載成功后保存到本地
tempFilePath: res.tempFilePath,
filePath: wx.env.USER_DATA_PATH + "/" + name+'.pdf',
success(res2) {
console.log(res2)
console.log(wx.env.USER_DATA_PATH)
if (res2.errMsg == 'saveFile:ok') {
uni.showToast({
title: '文件保存成功',
icon: 'none'
})
// uni.showModal({
// title: '文件保存成功,路徑為:',
// content: res.savedFilePath
// })
}else{
uni.showToast({
title: '文件下載報錯了',
icon: 'none'
})
}
},
fail() {
uni.showToast({
title: '文件下載報錯了',
icon: 'none'
})
}
})
參考文章來源微信小程序保存文件到本地