springboot拿到本地图片路径后再去获取虚拟映射路径返回给前端
时间: 2023-06-08 22:09:04 浏览: 347
可以使用Spring Boot提供的ResourceLoader类来获取本地图片的资源,并使用Controller来映射虚拟路径。以下是示例代码:
```java
@RestController
public class ImageController {
@Autowired
ResourceLoader resourceLoader;
@GetMapping("/images/{imageName}")
public ResponseEntity<Resource> getImage(@PathVariable String imageName) throws IOException {
Resource resource = resourceLoader.getResource("file:/path/to/images/" + imageName);
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_TYPE, Files.probeContentType(resource.getFile().toPath()));
return new ResponseEntity<>(resource, headers, HttpStatus.OK);
}
@Bean
WebMvcConfigurer configurer() {
return new WebMvcConfigurer() {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/images/**").addResourceLocations("file:/path/to/images/");
}
};
}
}
```
在这个示例中,getImage方法将根据提供的imageName参数获取本地图片资源,并返回它作为ResponseEntity对象。要映射虚拟路径,我们使用了addResourceHandlers方法,该方法将映射/images/**路径到本地文件系统上的/path/to/images/目录。