Javascript 捕获视频并将其存储在服务器上?
我尝试用Apache Cordova插件捕获视频。如何将此视频发送到服务器并存储 这是一个关于如何开始捕获视频的官方示例: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;
// 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
的警报。我明天会调查的。我发现这篇文章: