Проверено на Android, Samsung Galaxy S, версия телефонного зазора: 1.3.0
Я создаю пользовательский загрузчик видео для сообщества.
Все попытки с использованием файлов размером менее 15 МБ (примерно) работают как чудо,
либо если выбрать файл из библиотеки или записать видео и
затем загрузить его.
Я пробовал это на двух разных серверах с настройками php ini
выше того, что требуется.
Я пробовал chunkedMode = false;
Проблема по-прежнему сохраняется, разрыв телефонной связи, если видео больше 15
миллибар Все файлы до 15 МБ работают очень хорошо.
Phonegap даже не возвращает ошибку, просто вылетает.
Я безуспешно пытался вставить оператор try catch.
Вот мой код (очень простой для тестирования):
<!DOCTYPE html>
<html>
<head>
<title>Video Uploader</title>
<meta name="viewport" content="width=device-width, initial-
scale=1">
<link rel="stylesheet" href="master.css" type="text/css" />
<script type="text/javascript" charset="utf-8"
src="phonegap-1.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad() {
document.addEventListener("deviceready",onDeviceReady,false);
}
function onDeviceReady() {
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}
function uploadFile(mediaFile,method) {
var ft = new FileTransfer(),
path = mediaFile,
name = "video.3gp";
var options = new FileUploadOptions();
options.chunkedMode = false;
options.fileKey = "file";
options.fileName = name;
options.mimeType = "video/mpeg";
ft.upload(path,
"http://www.myserver.com/upload.php",
function(r) {
alert('Success ' + r.response);
},
function(error) {
alert('Error ' + path + ': ' + error.code);
},
options);
}
function onPhotoURISuccess(imageURI) {
uploadFile(imageURI,"library");
}
function getVideo(source, type) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality:
50, destinationType: destinationType.FILE_URI, sourceType: source,
mediaType: type});
}
function onFail(message) {
alert('Error');
}
</script>
</head>
<body onload="onLoad()">
<button class="btn"
onclick="getVideo(pictureSource.PHOTOLIBRARY,Camera.MediaType.VIDEO);">Get
Video</button>
</body>
</html>
Любой совет по этому вопросу будет высоко ценится!
Спасибо!