将 Ionic 视频 fileURI 转换为 dataURL,用于 Firebase 上传

Translating Ionic video fileURI to dataURL, for Firebase upload

我有一个 fileURI,我正在尝试将其转换为 dataURL,以便我可以将其上传到 Firebase。

目前我得到了 /var/mobile/Containers/Data/Application/69BCC8B8-D539-4BA3-AD6B-B3ECBD8DEDE9/Library/Caches/myvideo_17.mp4 的路径,但我需要将其转换为某种方式(BLOB、字符串等...),以便我可以将视频上传到 Firebase。

我一直在摆弄 Cordova 文件插件,但我似乎无法输入正确的信息来让它输出文件 dataUrl...

如有任何帮助,我们将不胜感激。

所以在休假几周后,回到这个问题上,我想通了这个问题。

事实证明,我一直在使用的插件正在剥离字符串的 VERY 重要 file:// 部分的 fileURI(我以前没有使用过) .所以我只剩下 /var/mobile/Containers/Data/Application/69BCC8B8-D539-4BA3-AD6B-B3ECBD8DEDE9/Library/Caches/myvideo_17.mp4.

因此在修复字符串之后(就像您在使用 base64Url 时所做的那样)。我最终得到以下结果:

'file://' + fileURI

总而言之,我的代码现在看起来像这样:

resolveFileSystemUrl(media){
 let fixed = 'file://' + media;
 this.file.resolveLocalFilesystemUrl(fixed)
 .then(result => {
   this.resolveFileEntry(result);
 }).catch(err => {console.error('Error resolving the file system url'); });
}


resolveFileEntry(res) {
 res.file((resFile) => {
  let reader = new FileReader();
  reader.readAsDataURL(resFile);
  reader.onloadend = (evt: any) => {
    // the base64 of the video is: evt.target.result
  }
 });
}