public void sendFile(File[] files) {
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setUseCaches(false);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
httpURLConnection.setRequestProperty("Connection", "Keep-Alive");
httpURLConnection.setRequestProperty("Cache-Control", "no-cache");
httpURLConnection.setRequestProperty("Content-Type", "multipart/form-data; boundary=*****");
BufferedOutputStream dos = new BufferedOutputStream(httpURLConnection.getOutputStream());
dos.write("Content-Type: multipart/form-data; boundary=*****\r\n".getBytes());
dos.write("Content-Transfer-Encoding: binary\r\n".getBytes());
for (File file : files) {
if(file.length() <= 0)
continue;
BufferedInputStream fileInput = new BufferedInputStream(new FileInputStream(file.getAbsoluteFile()));
String what_is_here = String.format("Content-Disposition: form-data; name=\"files\"; filename=\"%s\"\r\n",
file.getAbsoluteFile());
dos.write("--*****--\r\n".getBytes());
dos.write(what_is_here.getBytes());
dos.write("\r\n".getBytes());
dos.flush();
byte[] b = new byte[(int) file.length()];
for (int i = 0; i < b.length; i++) {
b[i] = (byte) fileInput.read();
}
dos.write(b);
dos.write("\r\n".getBytes());
dos.flush();
fileInput.close();
}
dos.write("--*****--\r\n".getBytes());
dos.flush();
dos.close();
Log.wtf("STATUS", httpURLConnection.getResponseCode() + "");
}
Мой вопрос о том, что не так с этим кодом?Я пытаюсь отправить изображение со своего планшета (Android) на мой локальный сервер (Spring), и он не работает Spring сервер не видит файлы, которые я отправляю.
@PostMapping("/file")
public void handleFileUpload(@RequestParam MultipartFile[] files) throws IOException {
System.out.println("FILES: " + files.length);
}
Я использую этот метод для перехвата файлов, но длина отпечатков sysout равна 0;
Когда я вызываю этот метод через почтальона, он работает нормально.Так вот почему я думаю, что что-то не так с приложением для Android.Пожалуйста, дайте мне несколько советов, потому что я пытался много