Cordova插件文件未从fileEntry返回文件

时间:2019-05-21 06:27:08

标签: javascript android cordova hybrid-mobile-app quasar

这是我的代码:

window.resolveLocalFileSystemURL(cameraCallback, (fileEntry) => {
  this.teste1 = fileEntry
  fileEntry.file(function (file) {
    this.teste2 = file
    let reader = new FileReader()
    reader.onloadend = function (e) {
      this.teste3 = this.result
    }
    reader.readAsDataURL(file)
  })
}, (error) => {
  this.teste4 = error
})

其中cameraCallback是一个“ file:/// path / to / file”图像,该图像存在。 我想将此图像读取为文件,但是this.teste2返回空。 this.teste3也返回空。

这是我的filyEntry:

  

文件条目{“ isFile”:true,“ isDirectory”:false,“ name”:   “ 1558418616412.jpg”,“ fullPath”:   “ /Android/data/org.cordova.quasar.app/cache/1558418616412.jpg”,   “ filesystem”:“”,“ nativeURL”:   “ file:///storage/emulated/0/Android/data/org.cordova.quasar.app/cache/1558418616412.jpg”   }

我该如何解决? 我尝试了多种响应组合,更改了读取器功能(e),这是异步问题吗?对此没有任何回应。

如何将我的fileEntry读取为Blob /文件/ base64映像?

1 个答案:

答案 0 :(得分:0)

您尝试过

let self = this

window.resolveLocalFileSystemURL(cameraCallback, (fileEntry) => {

     self.teste1 = fileEntry

     fileEntry.file(function (file) {

       self.teste2 = file

       let reader = new FileReader()

       reader.onloadend = function (e) {

         self.teste3 = self.result

       }

       reader.readAsDataURL(file)

     })

    }, (error) => {

     self.teste4 = error

    })