Это должно просто сработать.Все, что вам в основном нужно сделать - это получить загруженный файл со вкусом InputStream
из тела запроса.Для этого вы обычно используете Apache Commons FileUpload .Затем вы можете записать его любым OutputStream
способом, который вам нравится Java IO , например FileOutputStream
.
Предполагая, что вы на самом деле используете Apache Commons FileUpload, для которого требуется Apache Commons IO в качестве зависимости, вот базовый пример:
String filename = FilenameUtils.getName(fileItem.getName()); // Important!
File destination = new File("D:/path/to/files", filename);
InputStream input = null;
OutputStream output = null;
try {
input = fileItem.getInputStream();
output = new FileOutputStream(destination);
IOUtils.copy(input, output);
} finally {
IOUtils.closeQuietly(output);
IOUtils.closeQuietly(input);
}
В качестве альтернативы вы также можете простоиспользуйте удобный метод Fileupload FileItem#write()
:
String filename = FilenameUtils.getName(fileItem.getName()); // Important!
File destination = new File("D:/path/to/files", filename);
fileItem.write(destination);
Дополнительные примеры, советы и рекомендации приведены в Руководстве пользователя FileUpload и FAQ .