Можно ли скопировать файл по частному пути в каталог документов?

Это мой код. Я использовал CaptureVideo() из встроенного плагина ionic mediacapture.

И получить этот путь к файлу

/private/var/mobile/Containers/Data/Application/95DB5A64-700B-4E3D-9C2C-562C46520BEC/tmp/52515367181__BBC39D42-69EC-4384-A36F-7A512E109329.MOV

Я хочу скопировать этот файл в каталог документов.

CreateVide(){

      //SET CAPTUREVIDOE OPTION
      let videooption:CaptureVideoOptions = {limit:1};

      //CAPTURE VIDEO AND GET MEDIAFILE
      this.mediaCapture.captureVideo().then((videoData:Array<MediaFile>)=>{

        //SAVE AS FILE
          let filedir = this.file.documentsDirectory ;
          //Create directory
          this.file.createDir(filedir,'recordvideo',false);
          //SAVE FILE
          // this.file.writeFile(filedir + 'recordvideo', 'sample.mov', videoData[0]. );
          console.log('success:'+ videoData[0].fullPath);
          var ind = (videoData[0].fullPath.lastIndexOf('/')+1);
          var orgFilename = videoData[0].fullPath.substring(ind);
          var orgFilePath = videoData[0].fullPath.substring(0,ind);

          console.log(orgFilename, orgFilePath,filedir + 'recordvideo');
          this.file.copyFile(orgFilePath, orgFilename, filedir + 'recordvideo','sample.mov');
      });
}

Является ли это возможным? Любая помощь будет оценена.


person fastworker399    schedule 23.08.2017    source источник
comment
В чем проблема с вашей реализацией?   -  person Sampath    schedule 23.08.2017
comment
Спасибо за ответ. Файл не копируется.   -  person fastworker399    schedule 23.08.2017
comment
Используете ли вы какие-либо native plugin?   -  person Sampath    schedule 23.08.2017
comment
импортировать {MediaCapture, MediaFile, CaptureError, CaptureVideoOptions} из '@ionic-native/media-capture'; Я использую этот плагин.   -  person fastworker399    schedule 23.08.2017


Ответы (1)


CreateVideo()
  {
      //SET CAPTUREVIDOE OPTION
      let videooption:CaptureVideoOptions = {limit:1};

      //CAPTURE VIDEO AND GET MEDIAFILE
      this.mediaCapture.captureVideo().then((videoData:Array<MediaFile>)=>{

        //SAVE AS FILE
        let filedir = this.file.documentsDirectory ;
        //Create directory
        this.file.createDir(filedir,'recordvideo',false);


        //CHANGE PATH
        var path = videoData[0].fullPath.replace('/private','file://');
        var ind = (path.lastIndexOf('/')+1);
        var orgFilename = path.substring(ind);
        var orgFilePath = path.substring(0,ind);

        //SAVE FILE                    
        this.file.copyFile(orgFilePath, orgFilename, filedir + 'recordvideo','sample.mov');

      });
  }

Я решил эту программу, заменив путь к файлу. Лучший ответ будет оценен.

person fastworker399    schedule 23.08.2017