gpt4 book ai didi

java - NoSuchFileException 将图像上传到 Spring Boot

转载 作者:行者123 更新时间:2023-12-01 17:52:49 25 4
gpt4 key购买 nike

我正在 Spring Boot 上工作,并且我在此路径上创建了一个文件夹 webimages floders:myApp/src/web/images

当做

private String saveFile(MultipartFile file, String fileName) throws IOException {
byte[] bytes = file.getBytes();
String imagePath = new String(this.servletContext.getRealPath(this.imagesPath) + "/" + fileName);
Path path = Paths.get(imagePath);
Files.write(path, bytes);
return imagePath;
}

我收到此错误:

java.nio.file.NoSuchFileException: /private/var/folders/4g/wd_lgz8970sfh64zm38lwfhw0000gn/T/tomcat-docbase.8255351399752894174.8098/images/IMG_2018-01-06 15:18:48.486.jpg

我应该将 images 文件夹放在哪里,以便成功地将文件上传到其中。

感谢您的帮助

最佳答案

您可以使用相当简单的方式将图像保存到相同的 /myapp/src/web/image/ 目录中。

应用程序中的路径从 myapp 目录开始,您只需链接以下路径 /usr/web/images 并使用 FileOutputStream > 对象保存在那里。

下面是一个例子。

private String saveFile(MultipartFile file,String filename) throws IOException{
final String imagePath = "src/web/images/"; //path
FileOutputStream output = new FileOutputStream(imagePath+filename);
output.write(file.getBytes());

return imagePath+filename;
}

Second Edit

如果您想通过 GET 请求获取图像,您可以创建一个方法,该方法接受带有图像名称的请求参数并生成图像内容类型。类似的事情。 (此示例适用于不同类型的图像。)

@RequestMapping(value = "/show/",produces = MediaType.IMAGE_PNG_VALUE)
public @ResponseBody byte[] showImage(@RequestParam("image") String image) throws IOException{
final String imagePath = "src/web/images/";

FileInputStream input = new FileInputStream(imagePath+image);
return IOUtils.toByteArray(input);
}

我正在使用 apache 公共(public)依赖项来获取字节数组

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>

关于java - NoSuchFileException 将图像上传到 Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48127770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com