Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 捕获视频并将其存储在服务器上?_Javascript_Jquery_Html_Cordova_Cordova Plugins - Fatal编程技术网

Javascript 捕获视频并将其存储在服务器上?

Javascript 捕获视频并将其存储在服务器上?,javascript,jquery,html,cordova,cordova-plugins,Javascript,Jquery,Html,Cordova,Cordova Plugins,我尝试用Apache Cordova插件捕获视频。如何将此视频发送到服务器并存储 这是一个关于如何开始捕获视频的官方示例: // capture callback var captureSuccess = function(mediaFiles) { var i, path, len; for (i = 0, len = mediaFiles.length; i < len; i += 1) { path = mediaFiles[i].fullPath;

我尝试用Apache Cordova插件捕获视频。如何将此视频发送到服务器并存储

这是一个关于如何开始捕获视频的官方示例:

// 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});
//捕获回调
var capturesccess=函数(媒体文件){
变量i,路径,len;
对于(i=0,len=mediaFiles.length;i
但是我怎样才能将视频发送到我的服务器来存储它呢? 我必须向ajax代码传递什么

// 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
            }
        );
    }
};
//捕获回调
var capturesccess=函数(媒体文件)
{
变量i,路径,len;
对于(i=0,len=mediaFiles.length;i
最好使用此功能。

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);
}
uploadFile(mediaFiles[i]);
在获取文件路径的位置调用此函数

如下所示。

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);
}
uploadFile(mediaFiles[i]);
编辑1

注意:
确保在项目中添加了以下所有插件。

cordova-plugin-media

cordova-plugin-media-capture 

cordova-plugin-file

cordova-plugin-file-transfer 

将文件发送到服务器。可能需要先阅读文件…这正是我的问题如何做…检查我下面的答案。不幸的是,我无法测试它,因为我总是得到
无法读取未定义的属性“捕获”
,那么可能是插件安装中的问题。我安装了插件
cordova插件摄像头
cordova插件文件
@EdwardBlack是如果您使用了
navigator.notification.alert
,那么您还需要安装通知插件。安装它,错误就会消失。它只会弹出一个带有
错误代码20
的警报。我明天会调查的。我发现这篇文章: