Загрузить файл с помощью App Inventor 2 на сервер через PHP

Я пытаюсь загрузить файл с 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):

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.";
?>
Другие вопросы по тегам