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

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

введите описание изображения здесь

введите описание изображения здесь

2

Решение

в 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.";
?>
2

Другие решения

Других решений пока нет …