在JAVA Spring Controllers的不同部分中没有路径变量(即访问图像),有一种方法可以在配置文件中定义变量,然后通过这样的变量简单地使用它:
Config file:
String imageFolder = "D:\\Projects\\project_name\\images\\";
Spring Controller:
File outputFile = new File(imageFolder + img_name + "." + img_ext);
ImageIO.write(image, img_ext, outputFile);
提前做出来。
答案 0 :(得分:0)
自己的解决方案(在底部添加):
的web.xml:
<context-param>
<param-name>imageFolder</param-name>
<param-value>D:\Projects\project_name\src\main\webapp\resource\images\</param-value>
</context-param>
控制器:
@RestController
public class nameController {
@Resource
private ServletContext servletContext;
@RequestMapping(value = "/getImage/{img_name:.+}")
public byte[] getImage(@PathVariable String img_name) throws InternalError {
byte[] data;
try {
String imageFolder = servletContext.getInitParameter("imageFolder");
String realpath = imageFolder + img_name;
Path path = Paths.get(realpath);
data = Files.readAllBytes(path);
}catch (Exception e){
data = null;
}
return data;
}
}