Пытаюсь отправить запрос на сервер на отправку файла. Я хотел сделать так: разбираем файл на байты, а после передаем этот массив байтов в выходящем потоке скрипту на сервере. Однако, похоже мой запрос не корректен. И я уже всю голову сломал пытаясь найти в интернете решение.
Вот моя попытка:
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
Помогите, пожалуйста. Заранее спасибо!