我是spring boot上的wokring,我已经在这个路径上创建了一个文件夹: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。文件NoSuchFileException:/private/var/folders/4g/wd\u lgz8970sfh64zm38lwfhw0000gn/T/tomcat docbase。8255351399752894174.8098/images/IMG_2018-01-06 15:18:48.486。jpg公司
为了成功上传文件,我应该把图像文件夹放在哪里。
谢谢你的帮助
我正在研究spring boot,我在这个路径上创建了一个文件夹web和images文件夹:myApp/src/web/images
这个例外:
Java语言nio。文件NoSuchFileException:/private/var/folders/4g/wd\u lgz8970sfh64zm38lwfhw0000gn/T/tomcat docbase。8255351399752894174.8098/images/IMG_2018-01-06 15:18:48.486。jpg公司
在运行时,在应用程序源代码中创建的图像
文件夹将不会物理地位于托管应用程序的文件夹的图像
文件夹中,因为myApp/src/web/图像
在应用程序启动时可能不会被Spring Boot考虑。
在Spring Boot中,您可以访问位于某些特定文件夹中的静态资源,例如静态
或public
。
但我不确定它是否会对您有所帮助,因为您不仅要访问上传的文件,还要将内容放入文件夹中。
因此,我建议您使用另一种方法:将图像放在与应用程序部署文件夹不同的特定文件夹中<此外,通常情况下,您希望在应用程序关闭/启动后文件可用
因此,不要使用应用程序的相对路径来承载图像:
myApp/src/web/images
使用独立于应用程序的运行时文件夹的绝对路径(前缀为)。
您可以使用相当简单的方式将图像保存到相同的/myapp/src/web/image/
目录中。
应用程序中的路径从myapp目录开始,您只需链接以下路径,然后使用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;
}
第二次编辑
如果您想通过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公共依赖项来获取字节数组
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
我想在对话框窗口中显示图像(保存在项目文件夹中),但当我运行我的方法showDialogWithImage时,我会得到文件NotFoundException:imgs\pic1。jpg(系统无法找到指定的文件),尽管图像位于那里。 我也尝试过以这种方式加载图像: Image=new Image(getClass(). getResourceAsStream(path));,但遇到了同样的问题。 是
问题内容: 我想在对话框窗口中显示图像(保存在项目文件夹中),但是当我运行方法showDialogWithImage时,我得到FileNotFoundExcpetion:imgs \ pic1.jpg(系统找不到指定的文件),尽管图像位于此处。 我也尝试过以这种方式加载图像: Image image = new Image(getClass()。getResourceAsStream(path))
我想在上传到Firebase存储之前减小图像文件大小,因为上传需要很长时间。 这是conatins编辑文本图像视图的表单 单击“保存”按钮时,我同时保存数据(在实时数据库中)和图像(存储)。 那么如何减少图像大小或压缩它呢??
我想上传图像/文件到服务器使用它的uri使用下面的代码 所以,在这里我的回应是不成功的。API返回我内部服务器错误状态500,但我知道服务器工作良好(我测试了其他应用程序)。另外,文件uri也可以。我是新来的,所以能有人发现我的错误,并详细解释为什么是错误的。
问题内容: 在我的应用程序中,我需要从URL下载很多图片并将其显示在gridView中。(可以在1-200张照片之间)。我不想一次下载所有图片。我读到了关于延迟下载的信息,我的问题是:我只能得到Json的一部分,以其他线程下载图片, 并且只有当用户向下滚动 gridView时,我才继续到Json的其他部分,并且等等吗? 编辑:再次嗨。我想在此gridView中实现多选,而我很难在适配器的getVi