@Saymon_K

Как отправить POST запрос на сервер?

Пытаюсь отправить запрос на сервер на отправку файла. Я хотел сделать так: разбираем файл на байты, а после передаем этот массив байтов в выходящем потоке скрипту на сервере. Однако, похоже мой запрос не корректен. И я уже всю голову сломал пытаясь найти в интернете решение.

Вот моя попытка:
FileInputStream fis = new FileInputStream("c:\\test.txt");
			int c = fis.available();
			byte[] b = new byte[c];
			fis.read(b);
			fis.close();
			
			URL url = new URL("http://en.gymn20.by/load.php");
			HttpURLConnection htp = (HttpURLConnection) url.openConnection();
			htp.setDoOutput(true);
			htp.setRequestMethod("POST");
			htp.setRequestProperty("Content-Type", "multipart/form-data");
			htp.setRequestProperty("Content-Length", "254");
			htp.connect();
			
			OutputStream out = htp.getOutputStream();
			out.write(b);
			out.close();

Скрипт на сервере:
<?php

echo $_FILES["filename"]["size"];
   if($_FILES["filename"]["size"] > 1024*3*1024)
   {
     echo ("Размер файла превышает три мегабайта");
     exit;
   }
   // Проверяем загружен ли файл
   if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
   {
     // Если файл загружен успешно, перемещаем его
     // из временной директории в конечную
     move_uploaded_file($_FILES["filename"]["tmp_name"], "/home/gymn20by/public_html/en/".$_FILES["filename"]["name"]);
   } else {
      echo("Ошибка загрузки файла");
   }
?>

Выдает Ошибка загрузки файла.
И еще Warning: Missing boundary in multipart/form-data POST data in Unknown on line 0

Помогите, пожалуйста. Заранее спасибо!
  • Вопрос задан
  • 3346 просмотров
Пригласить эксперта
Ответы на вопрос 2
@IceJOKER
Web/Android developer
А вы уверены, что ни в одном из предложенных Google страниц нет ответа на этот вопрос?

b2b3c1670c.jpg
Ответ написан
@onepavel
Консультация и разработка мобильных приложений
Походу вы забыли про boundary и IceJOKER как всегда прав
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы