【发布时间】:2021-02-07 03:10:07
【问题描述】:
这个spring app执行简单的文件上传,
这是控制器类
@Override
public String fileUpload(MultipartFile file) {
try{
// save uploaded image to images folder in root dir
Files.write(Paths.get("images/"+ file.getOriginalFilename()), file.getBytes());
// perform some tasks on image
return "";
} catch (IOException ioException) {
return "File upload has failed.";
} finally {
Files.delete(Paths.get("images/" + file.getOriginalFilename()));
}
}
但是当我构建 jar 并运行时,它会抛出 IOException 说,
java.nio.file.NoSuchFileException: images\8c9.jpeg.
所以我的问题是如何在 jar 可执行文件本身中添加图像文件夹。
谢谢。
【问题讨论】:
-
您在可执行 jar 所在的位置是否有目录“images”?或者您可能需要设置完整路径
-
@guchuan,是的,但是我可以在 jar 中添加那个文件夹吗?
-
您的源代码项目是什么样的?如果它位于类路径资源下,您可以尝试“classpath:images/...”
-
“罐子内部”不可写。您需要将图像存储在外部;常见选项包括文件服务器上的网络共享、将它们填充到数据库中或使用像 S3 这样的对象存储。
-
当然,这工作对于试用来说还不错,但请记住,(1) 临时目录的空间可能有限,并且 (2) 它是临时的。
标签: java spring file-upload jar