喵xixi
喵xixi
  • 发布:2023-09-18 10:50
  • 更新:2023-09-23 20:39
  • 阅读:408

【报Bug】ios uni.saveFile 保存的路径 热刷新后路径访问失败

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: 13pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

                                url: urls, //仅为示例,并非真实的资源  
                                success: (res) => {  
                                    console.log(res);  
                                    if (res.statusCode === 200) {  

                                        console.log('下载成功');  

                                        uni.saveFile({  
                                            tempFilePath:res.tempFilePath,  
                                            success(resp) {  
                                                console.log(resp.savedFilePath) ```

操作步骤:

                                url: urls, //仅为示例,并非真实的资源  
                                success: (res) => {  
                                    console.log(res);  
                                    if (res.statusCode === 200) {  

                                        console.log('下载成功');  

                                        uni.saveFile({  
                                            tempFilePath:res.tempFilePath,  
                                            success(resp) {  
                                                console.log(resp.savedFilePath) ```  
第一步resp.savedFilePath路径保存起来,第二步真机热刷新代码, 第三步  读取resp.savedFilePath保存起来的路径,提示文件访问不到

预期结果:

uni.saveFile({
tempFilePath:res.tempFilePath,
success(resp) {
console.log(resp.savedFilePath)
resp.savedFilePath的本地文件路径ios 热刷新后仍然可访问本地路径

实际结果:

uni.saveFile({
tempFilePath:res.tempFilePath,
success(resp) {
console.log(resp.savedFilePath)
resp.savedFilePath的本地文件路径ios 热刷新后无法访问

bug描述:


                                url: urls, //仅为示例,并非真实的资源  
                                success: (res) => {  
                                    console.log(res);  
                                    if (res.statusCode === 200) {  

                                        console.log('下载成功');  

                                        uni.saveFile({  
                                            tempFilePath:res.tempFilePath,  
                                            success(resp) {  
                                                console.log(resp.savedFilePath) ```  
resp.savedFilePath的本地文件路径ios 热刷新后就访问不到了,要重新下载文件  

/var/mobile/Containers/Data/Application/2420BC8C-0BA1-4269-BEC8-97D7B234B542/Documents/Pandora/apps/__UNI__160418E/doc/1695000234691.jpg 这是ios 下载后的文件路径  
2023-09-18 10:50 负责人:无 分享
已邀请:
DCloud_iOS_XHY

DCloud_iOS_XHY

下载接口返回的是iOS应用的沙盒路径,中间的2420BC8C-0BA1-4269-BEC8-97D7B234B542是个虚拟路径,只能临时使用,下次app启动可能就会变化,所以不能作为固定地址使用,应该使用 plus.io.convertLocalFileSystemURL("_doc/1695000234691.jpg") 接口,可以正确获取路径,接口说明参考 https://www.html5plus.org/doc/zh_cn/io.html#plus.io.convertLocalFileSystemURL

  • 喵xixi (作者)

    好的我试下谢谢

    2023-09-25 10:07

要回复问题请先登录注册