springboot项目访问图片(4种方法亲测可用)
在Spring Boot项目中访问图片,可以通过以下四种方法实现:
- 使用Spring MVC的ResourceHandler
- 使用Spring Boot的内置Tomcat或Jetty服务器
- 使用第三方库如Apache Commons IO
- 使用Servlet
以下是每种方法的示例代码:
- 使用Spring MVC的ResourceHandler:
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/images/**")
.addResourceLocations("file:/path/to/your/images/");
}
}
访问方式: http://localhost:8080/images/your_image.jpg
- 使用Spring Boot的内置Tomcat或Jetty服务器:
将图片放在src/main/resources/static/images
目录下,Spring Boot会自动将其作为静态资源目录对外提供。
访问方式: http://localhost:8080/images/your_image.jpg
- 使用Apache Commons IO库:
@RestController
public class ImageController {
@GetMapping("/image")
public ResponseEntity<Resource> getImage(HttpServletRequest request) throws IOException {
String imagePath = "/path/to/your/images/your_image.jpg";
File file = new File(imagePath);
HttpHeaders header = new HttpHeaders();
header.setContentType(MediaType.IMAGE_JPEG);
return new ResponseEntity<>(new FileSystemResource(file), header, HttpStatus.OK);
}
}
访问方式: http://localhost:8080/image
- 使用Servlet:
@WebServlet("/image")
public class ImageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String imagePath = "/path/to/your/images/your_image.jpg";
File file = new File(imagePath);
response.setContentType("image/jpeg");
Files.copy(file.toPath(), response.getOutputStream());
}
}
访问方式: http://localhost:8080/image
以上代码中的/path/to/your/images/
需要替换为你的实际图片存储路径。
评论已关闭