2016-04-26 10 views
1

Ich versuche, ein Video mit Apache Cordova Plugin cordova-plugin-media-capture zu erfassen. Wie kann ich dieses Video an meinen Server senden und speichern?Video aufnehmen und auf dem Server speichern?

Dies ist ein offizielles Beispiel dafür, wie ein Video starten Erfassung:

// capture callback 
var captureSuccess = function(mediaFiles) { 
    var i, path, len; 
    for (i = 0, len = mediaFiles.length; i < len; i += 1) { 
     path = mediaFiles[i].fullPath; 
     // do something interesting with the file 
    } 
}; 

// capture error callback 
var captureError = function(error) { 
    navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error'); 
}; 

// start video capture 
navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:2, duration: 10}); 

Aber wie kann ich das Video auf meinem Server senden es zu speichern? Was muss ich an meinen Ajax-Code weitergeben?

// capture callback 
var captureSuccess = function(mediaFiles) 
{ 
    var i, path, len; 
    for (i = 0, len = mediaFiles.length; i < len; i += 1) 
    { 
     path = mediaFiles[i].fullPath; 
     $.ajax 
     (
      "ajax.php", 
      { 
       type: "POST", 
       data: { path: path } //This will just send the path to the server 
      } 
     ); 
    } 
}; 
+0

die Datei an den Server senden. Vielleicht müssen Sie die Datei zuerst lesen ... – dandavis

+0

Es ist genau meine Frage, wie man das macht ... – Black

+0

Überprüfen Sie meine Antwort unten. –

Antwort

1

Besser, diese Funktion zu verwenden.

function uploadFile(mediaFile) { 
    var ft = new FileTransfer(), 
     path = mediaFile.fullPath, 
     name = mediaFile.name; 
    var options = new FileUploadOptions(); 
    options.mimeType = "video/mpeg"; 
    options.fileName = name; 
    options.chunkedMode = true; 

    ft.upload(path, 
     "**Your WebService Url Goes Here**", 
     function(result) { 
      console.log('Upload success: ' + result.responseCode); 
      console.log(result.bytesSent + ' bytes sent'); 
     }, 
     function(error) { 
      console.log('Error uploading file ' + path + ': ' + error.code); 
     }, 
     options); 
} 

Call this function where you are getting your File Path.

wie unten.

uploadFile(mediaFiles[i]); 

EDIT 1

Hinweis:Make sure you added all below plugins in your project.

cordova-plugin-media 

cordova-plugin-media-capture 

cordova-plugin-file 

cordova-plugin-file-transfer 
+0

Leider kann ich es nicht testen, weil ich immer bekomme 'Kann Eigenschaft 'Capture' von undefined nicht lesen – Black

+0

Dann kann das Problem bei der Installation von Plugins sein. –

+0

Ich habe die Plugins 'cordova-plugin-camera' und' cordova-plugin-file' installiert. – Black

Verwandte Themen