Я пытаюсь загрузить изображение с телефона на сервер. Поэтому я получаю изображение URI и создаю с ним NameValuePair. Затем я использую следующий код Android, чтобы установить соединение и загрузить картинку. Это было взято из предыдущего вопроса stackoverflow (я бы связал, но не могу найти его даже с Google ...)
public void post(String url, List<NameValuePair> nameValuePairs) {
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost(url);
try {
MultipartEntity entity = new
MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addPart(nameValuePairs.get(0).getName(), new FileBody(new File(nameValuePairs.get(0).getValue())));
Log.v("Uploading file",nameValuePairs.get(0).getValue());
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
Log.v("Response", response.toString());
} catch (IOException e) {
e.printStackTrace();
}
}
На стороне сервера у меня есть следующий код. Это PHP, с которым я начинающий. Я знаю, что в коде нет проверки, но я хочу, чтобы загрузка работала до того, как я начну беспокоиться обо всем остальном.
<?php
if($_FILES){
$name = $_FILES['image']['name'];
move_uploaded_file($_FILES['image']['temp'],$name);
echo "success!";
}
else {
echo "Nothing uploaded";
}
?>
Здесь имя NameValuePair - «изображение», которое используется в качестве имени файла.
Ничего не загружается, но соединение установлено. Пожалуйста, помогите.
По запросу я вставил print_r ($ Files) в код. Ответ от сервера был:
09-05 23:23:35.745: VERBOSE/Response(13849): Array
09-05 23:23:35.745: VERBOSE/Response(13849): (
09-05 23:23:35.745: VERBOSE/Response(13849): [image] => Array
09-05 23:23:35.745: VERBOSE/Response(13849): (
09-05 23:23:35.745: VERBOSE/Response(13849): [name] => DSC_0100.jpg
09-05 23:23:35.745: VERBOSE/Response(13849): [type] =>
09-05 23:23:35.745: VERBOSE/Response(13849): [tmp_name] => /tmp/phpXcY8L1
09-05 23:23:35.745: VERBOSE/Response(13849): [error] => 0
09-05 23:23:35.745: VERBOSE/Response(13849): [size] => 806873
09-05 23:23:35.745: VERBOSE/Response(13849): ) 09-05 23:23:35.745: VERBOSE/Response(13849): )
09-05 23:23:35.745: VERBOSE/Response(13849):**