Ionique vidéo Natif télécharge un fichier corrompu

0

La question

Je suis actuellement un problème persistant avec mon Ionique application Native.

Je suis en train de télécharger un fichier vidéo de firebase de stockage, je m'occupe de l'enregistrement avec les Médias Capture:

"@ionique-natif/médias-capture": "^5.36.0""

loin donc bon.. quand j'essaie de télécharger ce nouveau fichier à firestore le fichier toujours téléchargements corrompus... ou la taille du fichier n'est 9Bytes!??

c'est le code que j'utilise actuellement:

this.mediaCapture.captureVideo({duration: 10, quality: 0}).then(
        (data: MediaFile[]) => {
          if (data.length > 0) {
            let originname = data[0].fullPath.substr(data[0].fullPath.lastIndexOf('/') + 1);
            let originpath = data[0].fullPath.substr(0, data[0].fullPath.lastIndexOf('/') + 1);            
            
            let alerta = this.alerts.create({
              buttons: ['ok'],
              message: this.file.externalDataDirectory
            });
            alerta.then(set => set.present());
            this.file.copyFile(originpath, originname, this.file.externalDataDirectory, 'video.mp4')
            .then(result =>{
              //let video = (document.getElementById('myvideo') as HTMLVideoElement).src = result.nativeURL;
           

              //let path =this.webview.convertFileSrc(result.nativeURL);
              // this.video = path;

              // let alert = this.alerts.create({
              //   buttons: ['ok'],
              //   message: path
              // });
              // alert.then(set => set.present());
              
              
              // let videoname = path.substr(path.lastIndexOf('/') + 1);
              // let videopath = path.substr(0, path.lastIndexOf('/') + 1);        
              const data = Filesystem.readFile({
                path: result.nativeURL
              })
              .then(data =>{
                let blob= new Blob([data.data], {type: 'video/mp4'});
                let ref = this.storage.storage.ref().child('videoTests').child('video.mp4')
                ref.put(blob).then(
                  result =>{
                    let url = this.storage.ref('/videoTests/'+588+'.mp4').getDownloadURL();
                    url.subscribe(result =>{
                      console.log(result);
                      let alert = this.alerts.create({
                        buttons: ['ok'],
                        message: result
                      });
                      alert.then(set => set.present());
                      })
                  }) 

REMARQUE: pour le contexte, j'ai essayé d'utiliser le Fichier natif readAsDataURL mais la promesse n'a jamais résolu.. dans la console je vois le traitement, mais à la fin il a juste coincé et n'a jamais résolu..

  • Ionique 6.16.3
  • Angulaire De Base 12.1.1
  • Nœud 14.15.0

toute aide ou des conseils est grandement apprécié, j'ai des jours coincé à ce point maintenant...

[RÉSOLU]

1

La meilleure réponse

1

RÉSOLU: c'est nows résolu... le résultat de système de fichiers.readFile est base64 donc, tout ce que j'ai à faire est de traiter ce résultat en base64 et puis de le convertir en un blob, il télécharge une vidéo valide fichier.

2021-11-27 16:27:55

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................