在我的Appcelerator钛移动项目中,我必须录制视频并将其上传到我们的服务器。录制对我来说并不困难,这很简单,我可以正确地从以下网址返回视频网址:
Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, 'myVideo.mp4');
所以我可以获得原生路径:
myVideoPath = f.nativePath;
从那里我不知道如何上传文件,对于一个图像我只是基于blob,但对于视频文件,如何处理这个?
感谢您的宝贵帮助。
答案 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!";
}