uni.downloadFile({
url: url,
success: (res) => {
if (res.statusCode === 200) {
const tempFilePath = res.tempFilePath;
url = tempFilePath;
console.log("tempFilePath",tempFilePath)
uni.saveFile({
tempFilePath: tempFilePath,
success: function (res) {
const savedFilePath = res.savedFilePath
console.log("savedFilePath",savedFilePath)
uni.setStorage({
key: key,
data: savedFilePath
})
complete && complete(savedFilePath)
},
complete:function(aa){
console.error(aa);
}
});
}
}
})
- 发布:2021-04-29 10:57
- 更新:2021-05-13 19:09
- 阅读:1068
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 11.2.3
HBuilderX类型: 正式
HBuilderX版本号: 3.1.11
手机系统: iOS
手机系统版本号: IOS 14
手机厂商: 苹果
手机机型: ipad
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
下载文件,然后保存文件
下载文件,然后保存文件
预期结果:
{"errMsg":"saveFile:ok","savedFilePath":"_doc/uniapp_save/16196650311902.png"}
{"errMsg":"saveFile:ok","savedFilePath":"_doc/uniapp_save/16196650311902.png"}
实际结果:
{"errMsg":"saveFile:fail 文件没有发现","errCode":1,"code":1}
{"errMsg":"saveFile:fail 文件没有发现","errCode":1,"code":1}
bug描述:
下载文件,然后保存文件,如果下载文件包含中文标题的话,就会报文件没有发现。
tempFilePath, _doc/uniapp_temp_1619662670249/download/%E6%99%AF%E5%85%B0.jpg at uview-ui/components/u-image-cache/jy-cache.js:24
10:17:49.856 [Object] {"errMsg":"saveFile:fail 文件没有发现","errCode":1,"code":1} at uview-ui/components/u-image-cache/jy-cache.js:37 __ERROR
zopen (作者)
uniapp 在ios下<image>标签使用本地图片路径包含中文也不行,encodeURI也不行 目前只能使用plus解决了
代码如下
plus.io.resolveLocalFileSystemURL(tempFilePath,(srcEntry)=>{
plus.io.resolveLocalFileSystemURL("_doc",(dstEntry)=>{
dstEntry.getDirectory("uniapp_save",{create:true,exclusive:false},(saveEntry)=>{
//console.log("srcEntry.toURL",srcEntry.toURL())
//console.log("dstEntry.toURL",dstEntry.toURL())
//console.log("saveEntry.toURL",saveEntry.toURL())
let fnames = srcEntry.name.split(".");
let fileName = Buffer.from(fnames[0]).toString('hex')+(fnames[1]?('.'+fnames[1]):'');
//console.log("fileName",fileName)
srcEntry.moveTo(saveEntry,fileName,(res)=>{
const savedFilePath = res.toURL()
console.log("savedFilePath",savedFilePath)
uni.setStorage({
key: key,
data: savedFilePath
})
complete && complete(savedFilePath)
});
})
},(err)=>{
console.error(err);
})
});
zopen (作者)
19:05:24.252 项目 '自定义启动广告页' 编译成功。
19:05:24.271 正在同步手机端程序文件...
19:05:26.118 同步手机端程序文件完成
19:05:26.164 正在热刷新,如刷新失败,请点击控制台工具栏上的【重启应用图标】
19:05:29.384 App Launch at App.vue:4
19:05:29.408 App Show at App.vue:19
19:05:29.432 [Object] {"errMsg":"saveFile:fail 文件没有发现","errCode":1,"code":1} at components/jy-image/jy-cache.js:36 ERROR
19:05:29.454 [Object] {"errMsg":"saveFile:fail 文件没有发现","errCode":1,"code":1} at components/jy-image/jy-cache.js:36 ERROR
19:08:35.230 App Hide at App.vue:22
1***@qq.com
厉害了老哥
2021-09-06 13:03