2015-07-21 40 views
4

我使用cordovaCapture的captureVideo方法如下:如何将保存的视频上传到远程服务器,使用cordovaCapture捕获?

$cordovaCapture.captureVideo(options) 
    .then(function(videoData) { 
    var file_path = videoData[0].fullPath; 
    // upload to server 
}); 

我得到尽可能

文件的路径:/存储/ MP4 ....

如何将这个文件上传到远程服务器,我能够直接通过我的控制器访问这个文件,还是必须处理一个url?

我正在使用Ionic框架。

任何帮助将不胜感激。

+1

你需要使用文件上传插件:http://ngcordova.com/docs/plugins/fileTransfer/来上传它。 –

回答

5

这很简单。这将只在离子FW

首先你必须安装文件传输插件。如果没有使用这个命令:

cordova plugin add org.apache.cordova.file-transfer

承担http://www.samplewebsite.com/upload。是您的服务器超链接。

example.controller("ExampleController", function($scope, $cordovaFileTransfer) { 

    $scope.upload = function() { 
     var options = { 
      fileKey: "avatar", 
      fileName: "filename.mp4", 
      chunkedMode: false, 
      mimeType: "video/mp4" 
     }; 
     $cordovaFileTransfer.upload("http://www.samplewebsite.com/upload", "file:/storage/....mp4", options).then(function(result) { 
      console.log("SUCCESS: " + JSON.stringify(result.response)); 
     }, function(err) { 
      console.log("ERROR: " + JSON.stringify(err)); 
     }, function (progress) { 
      // constant progress updates 
     }); 
    } 

}); 

毕竟你需要调用这个函数像这样

<button class="button" ng-click="upload()">video upload</button> 

其工作。我做了很多次。

+0

谢谢,试过这个,它工作。这个插件在ngCordova中没有像在Github链接中那么好记录。 – aliasav

+0

@Prabhu:如何从我们的存储介质上传本地文件? – Muhsin

+0

有帮助的答案。 我的问题是使用科尔多瓦我必须打开图库弹出并选择视频并上传它。我正在使用$ cordovaCamera.getPicture并提供“options-> mediaType-:navigator.camera.MediaType.VIDEO” hardluck我可以在adb logcat中看到视频的路径:/ storage/emulated/0/Video/abcd.3gp但文件正在上传。 –

相关问题