Как зашифровать файл перед загрузкой в ​​ionic 3? - PullRequest
0 голосов
/ 09 мая 2019

Я разработал загружаемое приложение для видео. Но загруженные видео открываются только через мое приложение (например, на YouTube). Поэтому я решил зашифровать видеофайл перед его загрузкой. Я получаю URL-адрес видео из API, как http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4. Мне нужно зашифровать файл BigBuckBunny.mp4 и сохранить во внутреннем хранилище .im, используя cryto-js для шифрования.

downloadVideo(url){
    let link = url;
    let path = '';
    let dir_name = 'training_videos';
    let file_name = this.GetFilename(url)+'.mp4';

    let encryted_file=CryptoJS.AES.encrypt(file_name, '123')

    const fileTransfer = this.transfer.create();
  let result = this.file.createDir(this.file.externalRootDirectory+'/ayc/training_videos/', dir_name, true);
result.then((resp) => {
  path = resp.toURL();
  console.log(path);

  fileTransfer.onProgress((progressEvent) => {
    // alert(progressEvent);
  var perc = Math.floor(progressEvent.loaded / progressEvent.total * 100);
  this.progress = perc;
  // alert(this.progress);
  });

  fileTransfer.download(link, path + encryted_file).then((entry) => {
   alert('download complete: ' + entry.toURL());
  }, (error) => {
    console.log(error)
  });
}, (err) => {
  alert('error on creating path : ' + err);
});
  }

//get file name from url
GetFilename(url)
{
   if (url)
   {
      var m = url.toString().match(/.*\/(.+?)\./);
      if (m && m.length > 1)
      {
         return m[1];
      }
   }
   return "";
}

Я ожидаю, что выходные файлы с зашифрованными видео не должны воспроизводиться в файловом менеджере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...