Titanium appcelerator将录制的视频上传到服务器

时间:2016-06-28 18:00:48

标签: appcelerator titanium-mobile appcelerator-titanium appcelerator-mobile

在我的Appcelerator钛移动项目中,我必须录制视频并将其上传到我们的服务器。录制对我来说并不困难,这很简单,我可以正确地从以下网址返回视频网址:

Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, 'myVideo.mp4');

所以我可以获得原生路径:

myVideoPath =  f.nativePath;

从那里我不知道如何上传文件,对于一个图像我只是基于blob,但对于视频文件,如何处理这个?

感谢您的宝贵帮助。

1 个答案:

答案 0 :(得分:3)

使用正常的XHR请求:

var f = Ti.Filesystem.getFile(Ti.Filesystem.externalStorageDirectory, "video.mp4");

var xhr = Titanium.Network.createHTTPClient();
xhr.onload = function(e) {
    // done
};
xhr.open('POST', 'http://server/upload.php');
xhr.onsendstream = function(e) {
    console.log( Math.floor(e.progress * 100) + "%");
};
xhr.send({
    file: f
});

然后它取决于您的服务器架构。

使用php会像

一样
if(move_uploaded_file($_FILES['video_path']['tmp_name'], "test.mp4")) {
    return "success";
} else{
    return "falied!";
}