小编Oll*_*H-M的帖子

无法在Ionic 2项目中使用cordova文件插件读取文件

我正在尝试使用Cordova文件插件来读取保存在移动设备中的图像,这样我就可以获得它的base64编码,我需要远程存储它.问题是resolveLocalFilesystemUrl()方法,它应该提供一个File Entry对象,而不是似乎返回一个Entry对象,这意味着我无法调用它上面的文件.

下面是应该获取File Entry对象的代码,以便我可以使用file方法来读取文件本身.

MediaCapture.captureImage().then((images)=>{
  self.image = images[0].localURL;
  File.resolveLocalFilesystemUrl(self.image).then((entry)=>{
    entry.file(function (file) {
      var reader = new FileReader();

      reader.onloadend = function (encodedFile) {
        var src = encodedFile.target.result;
        src = src.split("base64,");
        var contentAsBase64EncodedString = src[1];
      };
      reader.readAsDataURL(file);
    })
  }).catch((error)=>{
    console.log(error);
  })
})
Run Code Online (Sandbox Code Playgroud)

我收到以下Typescript错误,它告诉我resolveLocalFilesystemUrl()正在使用Entry对象解析,该对象没有文件方法.(插件文档说resolveLocalFilesystemUrl使用File Entry对象解析,并且这样的对象肯定有一个提供文件本身的文件方法):

Property 'file' does not exist on type 'Entry'. 
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我提供resolveLocalFilesystemUrl()的路径类型.我尝试了沿着/ var/mobile/Applications // Documents/path/to/file和cdvfile:// localhost/temporary/filename行的本地URL的完整路径 - 两者都不起作用

所以具体的问题是为什么不会解析LocalFilesystemUrl()为我提供一个文件入口对象,或者我是如何让它这样做的?更一般地说,如果上述方法不起作用,如何在Ionic 2中读取文件以便我可以获得它的base64版本.

谢谢!

base64 typescript cordova-plugins ionic2

1
推荐指数
1
解决办法
6022
查看次数

标签 统计

base64 ×1

cordova-plugins ×1

ionic2 ×1

typescript ×1