Nativescript-background-http загрузить файл на php

Я хочу загрузить аудиофайл на свой сервер с помощью плагина nativescript-background-http. Мобильная сторона работает нормально. нет ошибки времени выполнения. Журнал показывает полную загрузку, но когда я захожу в каталог на моем сервере, файл не выгружается.

Вот мой код на nativescript

var session = bghttp.session("image-upload");
var audioFolder = fs.knownFolders.documents().getFolder("audio");
var recordedFile = audioFolder.getFile("recording.mp3");
var request = {
    url: "http://talktext.me/talktext.me(app)/recAudio.php",
    method: "POST",
    headers: {
        "Content-Type": "application/octet-stream",
        "File-Name": "recording.mp3"
    },
    description: "{ 'uploading': '" + "recording.mp3" + "' }"
};
alert(recordedFile.path);
let params = [
            { name: "test", value: recordedFile.path },
            { name: "fileToUpload", filename: recordedFile.path, mimeType: 'audio/mpeg' }
];
var task = session.multipartUpload(params, request);

task.on("progress", logEvent);
task.on("error", logEvent);
task.on("complete", logEvent);
function logEvent(e) {
   console.info("UPLOAD STATUS: "+e.eventName);

}

Вот мой код на recAudio.php

$all_headers = apache_request_headers();
$newimg = file_put_contents('uploads/' . $all_headers['File-Name'], 
file_get_contents('php://input'));

На мобильном все работает нормально. Но на сервер не загружен файл.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
667
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я не специалист по PHP, но работал над этим очень давно. Похоже, php://input недоступен для многокомпонентной загрузки.

Источник: http://php.net/manual/en/wrappers.php.php

убедитесь, что заголовок доступен для приложения в файле .htaccess сервера

RewriteCond %{HTTP:File-Name} .
RewriteRule .* - [E=HTTP_FILENAME:%{HTTP:File-Name}]

использовать как

file_put_contents('uploads/' . $_SERVER['HTTP_FILENAME'],file_get_contents('php://input'));
$_SERVER['HTTP_FILENAME'] не имеет значения.
Jacob Jacobs 24.10.2018 17:01

Другие вопросы по теме