我存储用户上传的文件如下:
InputStream inputStream = null;
OutputStream outputStream = null;
MultipartFile file = uploadedFile.getFile();
String fileName = file.getOriginalFilename();
String path ="C:/apache-tomcat-8.0.18/uploads/images/";
try {
inputStream = file.getInputStream();
File newFile = new File(path +fileName);
if (!newFile.exists()) {
System.out.println(newFile.getAbsolutePath());
newFile.createNewFile();
}
outputStream = new FileOutputStream(newFile);
int read = 0;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
} catch (IOException e) {
e.printStackTrace();
}
finally {
outputStream.close();
}
应该保存上传文件的路径是什么?我想存储图像并将它们显示在JSP页面中。
我最初将文件存储在Maven项目的 webapp / images 文件夹中。但是,当重新部署应用程序时,上传的文件也会被删除。我该如何解决这个问题?
当我上传 C:/apache-tomcat-8.0.18/uploads/images / 时,我无法在JSP页面中显示图像。获取错误不允许加载本地资源。
答案 0 :(得分:0)
在磁盘上存储文件的最佳方法是使用Content Repository API for Java(JCR)。我建议Jackrabbit。
看一下这个答案Recommended way to save uploaded files in a servlet application