Как я могу использовать следующий PHP-код вместе с запросом HTTPPost, отправленным из моего приложения для Android:
<?php
$file_path = "userimage/";
$file_path = $file_path . basename( $_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path)) {
echo "success";
} else {
echo "fail";
}
?>
Могу ли я просто сделать это:
nameValuePairs.add(new BasicNameValuePair("uploaded_file", encoded));
nameValuePairs.add(new BasicNameValuePair("tmp_name", "testImage.jpg"));
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("URL TO PHP");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
Я смущен, почему PHP-код содержит имя, uploaded_file и tmp_name, а также откуда они пришли из Exaclty?
Структура данных загруженного файла зависит от реализации на языке PHP. См. Руководство по PHP http://php.net/manual/en/features.file-upload.post-method.php
Ваш $ _FILES ['uploaded_file'] представляет собой массив информации о загруженном файле:
$ _FILES [ 'uploaded_file'] [ 'имя']
Исходное имя файла на клиентской машине.
$ _FILES [ 'uploaded_file'] [ 'tmp_name']
Временное имя файла, в котором загруженный файл хранился на сервере.
$ _FILES [ 'uploaded_file'] [ 'размер']
Размер в байтах загруженного файла.
попробуйте установить enctype = multipart/form-data