Я пытаюсь загрузить файл с App Inventor 2 на сервер через PHP. Я следовал за Android-приложение Photo Booth учебник, однако на стороне сервера myPhoto.jpg содержит имя файла, а не содержимое изображения (например, myPhoto.jpg содержит что-то вроде «file: ///storage/emulated/0/Pictures/app_inventor_1424997354199.jpg»). Как я могу это исправить?
Код, который я использую:
tempSaveFile.php:
<?php
$dataToWrite = $_REQUEST['fileName'];
$fileName = "myPhoto.jpg";
file_put_contents($fileName, $dataToWrite);
?>
Я в курсе Учебник Тайфуна но так как в моем php.ini always_populate_raw_post_data = On
Я бы предпочел избежать установки чего-либо.
Учебник Скотта похоже, что-то похожее (с App Inventor 1):
в URL вы должны передавать только имя файла без пути, например, app_inventor_1424997354199.jpg
в PostFile
блок вы должны использовать полный путь, например, file:///storage/emulated/0/Pictures/app_inventor_1424997354199.jpg
затем на сервере, попробуйте решение Скотта
<?PHP
$data = file_get_contents('php://input');
if (!(file_put_contents($_GET['fileName'],$data) === FALSE)) echo "File xfer completed."; // file could be empty, though
else echo "File xfer failed.";
?>
Других решений пока нет …