通过 PHP 使用 App Inventor 2 将文件上传到服务器
Upload a file with App Inventor 2 to a server through PHP
我正在尝试通过 PHP 将带有 App Inventor 2 的文件上传到服务器。我遵循了 Photo Booth Android app 教程,但是在服务器端,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);
?>
我知道 Taifun's tutorial 但是因为在我的 php.ini always_populate_raw_post_data = On
中我宁愿避免必须安装任何东西。
Scott's tutorial 似乎做了类似的事情(使用 App Inventor 1):
在 URL 中,您应该只传输不带路径的文件名,例如app_inventor_1424997354199.jpg
在 PostFile
块中,您应该使用完整路径,例如file:///storage/emulated/0/Pictures/app_inventor_1424997354199.jpg
然后在服务器上,尝试 Scott 的解决方案
<?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.";
?>
我正在尝试通过 PHP 将带有 App Inventor 2 的文件上传到服务器。我遵循了 Photo Booth Android app 教程,但是在服务器端,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);
?>
我知道 Taifun's tutorial 但是因为在我的 php.ini always_populate_raw_post_data = On
中我宁愿避免必须安装任何东西。
Scott's tutorial 似乎做了类似的事情(使用 App Inventor 1):
在 URL 中,您应该只传输不带路径的文件名,例如app_inventor_1424997354199.jpg
在 PostFile
块中,您应该使用完整路径,例如file:///storage/emulated/0/Pictures/app_inventor_1424997354199.jpg
然后在服务器上,尝试 Scott 的解决方案
<?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.";
?>