(Ionic)尝试读取文件时出现Cordova-file-plugin错误

时间:2017-11-12 07:40:15

标签: android angular cordova ionic2 ionic3

所以,我正在尝试通过cordova文件插件读取我刚刚保存在应用程序目录(Android)上的音频文件,但我一直得到相同的错误代码5,代表“ENCODING_ERR”。

这是我创建文件并开始录制的方式

start() {
    this.filename = this.file.externalDataDirectory.replace(/file:\/\//g, '');
    this.mediaobject = this.media.create(this.filename + 'audioprofile' + '.3gp');
    this.mediaobject.startRecord(); 
}

这就是我停止录制和保存文件的方式

stop() {
 this.mediaobject.stopRecord();
 this.mediaobject.release(); 
...

这就是我被困住的地方:保存之后,我需要把它作为一个字符串,所以我试着读它(alert(content)应该给我看那个字符串)

stop() {  
this.mediaobject.stopRecord();
this.mediaobject.release();

this.storage.get("uid").then((id) => {

  try{
  this.file.readAsDataURL(this.filename,'audioprofile'+'.3gp').then((filecontent)=>{
  alert(filecontent);
},(err)=>{
    alert(err.code);
  })
  } `

经过一些研究后我发现它可能意味着我没有为它提供正确的路径,但是我已经尝试了所有内容,“filename”和“filepath”的任意组合都已经完成,甚至在开始时添加了前缀()。

我想知道是否有人设法使用此cordova插件读取文件,如果您这样做,请帮助我。

先谢谢,这是我在这里的第一篇帖子\ o /(虽然我一直都在使用这个网站,但是爱你们)。

2 个答案:

答案 0 :(得分:0)

我设法使用File-Path插件完成此操作,它以文件插件理解并能够访问文件的方式解析文件的路径,然后您只需按照您想要的方式操作它。

答案 1 :(得分:0)

我有同样的问题。我通过以下方法解决了这个问题:

this.media.create(this.file.externalDataDirectory + this.nameFile);

我不知道为什么,但是如果您保存并删除this.file.readAsDataURL/file:将无法读取文件
记住要在所有方法中更改路径。