【发布时间】:2021-10-23 11:23:53
【问题描述】:
我是 SpringBoot 网络开发的新手。 我需要将图像保存到当前项目的目录中。我将路径指定为“String uploaddir =”./src/main/imageuploads/“+ savedadvert.getId();”但是图像没有保存到eclipse项目中的“./src/main/imageuploads/”目录中。
@RequestMapping(value="/upload", method = RequestMethod.POST)
public String FileUpload(@RequestParam("file1Url") MultipartFile multipartfile, Model model) throws IOException {
model.addAttribute("advertsim",new advertsummary());
advertsummary advert = new advertsummary();
String file1Urlname= StringUtils.cleanPath(multipartfile.getOriginalFilename());
advert.setFile1Url(file1Urlname);
advertsummary savedadvert = AdvertService.addadvert(advert);
String uploaddir = "./src/main/imageuploads/"+ savedadvert.getId();
FileUploadUtil.saveFile(multipartfile, file1Urlname, uploaddir);
return "uploadview";
}
这是 ref 的 saveFile 方法。
public static void saveFile(MultipartFile multipartFile, String fileName, String uploadDir) throws IOException {
Path uploadPath = Paths.get(uploadDir);
if (!Files.exists(uploadPath)) {
Files.createDirectories(uploadPath);
}
try (InputStream inputStream = multipartFile.getInputStream()) {
Path filePath = uploadPath.resolve(fileName);
System.out.println(filePath.toFile().getAbsolutePath());
Files.copy(inputStream, filePath, StandardCopyOption.REPLACE_EXISTING);
} catch (IOException ioe) {
throw new IOException("Could not save image file: " + fileName, ioe);
}
}
当我得到绝对路径时,它显示如下“/Users/chathura/eclipse/jee-2021-03/Eclipse.app/Contents/MacOS/./src/main/imageuploads/24/new file.jpg ”。 无法访问此目录,但我可以使用终端访问该目录。
请告诉我这里的错误是什么?
注意:我使用的是 macos
提前致谢
【问题讨论】:
-
不要使用图像,但实际上将您的代码添加到问题中。谢谢!
-
对不起,我已经添加了代码。
标签: java spring-boot maven java.nio.file