Я пытаюсь записать звук на iPhone с помощью PhoneGap, а затем отправить этот звук на сервер. Я использую API-интерфейсы PhoneGaps Media для записи, а затем API передачи файлов PhoneGap для отправки файла на сервер.Загрузка PhoneGap .wav с устройства iOS создает 0k-файл на сервере
Я могу сделать запись просто прекрасной, и ее воспроизведение отлично работает. Однако, когда я пытаюсь отправить его на сервер, запись появляется на сервере, но он говорит, что файл имеет размер 0k.
Я провел довольно обширный поиск по этой проблеме и нашел других, у которых была эта проблема. Например: https://groups.google.com/forum/#!topic/phonegap/zjzSs6JVokE
function win(r) {
alert("Code = " + r.responseCode);
alert("Response = " + r.response);
alert("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
console.log("upload error source " + error.source);
console.log("upload error target " + error.target);
}
function upLoad() {
var options = new FileUploadOptions();
options.fileKey="file";
options.fileName=myPath.substr(myPath.lastIndexOf('/')+1);
options.mimeType="audio/wav";
var params = new Object();
var headers={'headerParam':'headerValue'};
options.headers = headers;
options.chunkedMode = false;
var ft = new FileTransfer();
ft.upload(encodeURI(myPath), encodeURI("http://myserver.com/upload.php"), win, fail, options);
}
Вот код на стороне сервера:
print_r($_FILES);
$new_image_name = "testFile.wav";
move_uploaded_file($_FILES["file"]["tmp_name"], "/var/www/wwwroot/recordings/".$new_image_name);
Я думаю, что это может быть проблема с тем, что я представляемого .wav файлы. Когда я отправляю файл, r.bytesSent обычно показывает от 200 до 400 байт (независимо от размера файла), поэтому кажется, что фактическое содержимое файла просто не отправляется.
Я протестировал вышеуказанный код с помощью простого текстового файла, и он прошел отлично, поэтому я не думаю, что это разрешение или синтаксическая проблема. Я не пробовал это с файлами изображений, но я не могу себе представить, что это сильно влияет на то, что я отправляю.
Кто-нибудь сделал это успешно?
Я попытался переименовать файл somefile.wav в Somefile.txt или просто некий-файл. Он не работает, файл по-прежнему равен 0 на сервере. Я тестировал с txt, jpg, и он работает. –