LiangCai
LiangCai
  • 发布:2021-07-02 15:54
  • 更新:2021-07-02 15:54
  • 阅读:797

plus.io 文件拷贝操作, 拷贝后的文件系统报错无法找到。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 7 专业版

HBuilderX类型: 正式

HBuilderX版本号: 3.1.18

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: iPhone 8 Plus

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

1、 使用以下函数,将文件A 拷贝为文件B
'''’function copyFile(fileCopyInfo) {
//console.log("fileFrom:" + fileCopyInfo.fileFrom );

plus.io.requestFileSystem( plus.io.PRIVATE_DOC, function(fs){  
  // fs.root是根目录操作对象DirectoryEntry  
  fs.root.getFile(fileCopyInfo.fileFrom,{create:false}, function(fileEntry){  
        fs.root.getDirectory("uniapp_save",{create:true,exclusive:false}, function(fileEntry1){  
            fileEntry.copyTo( fileEntry1, "123.pdf", function( entry ){  
                            typeof fileCopyInfo.success == "function" && fileCopyInfo.success();  
            }, e=>{typeof fileCopyInfo.faild == "function" && fileCopyInfo.faild(e);});  
        }, e=>{typeof fileCopyInfo.faild == "function" && fileCopyInfo.faild(e);});  
  }, e=>{typeof fileCopyInfo.faild == "function" && fileCopyInfo.faild(e);});  

}, e=>{typeof fileCopyInfo.faild == "function" && fileCopyInfo.faild(e);});
}'''

  1. 使用该函数打开已拷贝好的文件B, 该函数存在于 fileCopyInfo结构success回调中执行, PDF文件被直接打开
    '''uni.openDocument({
    filePath: "_doc/uniapp_save/123.pdf"
    fail: () => {
    uni.showToast({
    title: "文件打开失败",
    duration: 2000
    });
    }
    });'''

操作步骤:

使用示例中的代码编译执行即可复现结果。

预期结果:

拷贝后的 PDF文件被直接打开显示

实际结果:

文件无法找到。

bug描述:

利用 plus.io 相关函数拷贝一个文件后, 使用 iOS 自带的 uni.openDocument 打开PDF文件,报错无法找到该文件

使用 HB 3.1.18 + win7 平台调试,存在该问题 , 使用HB 3.1.13 + MAC 系统调试,没有发现该问题。

2021-07-02 15:54 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复