以Java web的方式显示图片到浏览器
请求例子:http://localhost:8080/image?image=图片名称.jpeg
示例代码:
一:允许Spring Boot使用Java web
在spring boot启动器中添加@ServletComponentScan注解
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@SpringBootApplication
@ServletComponentScan //这里
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
二:图片下载
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/image")
public class ImageShow extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
String image=request.getParameter("image");
System.out.println(image);
File file;
BufferedImage im;
try {
file = new File("image/" + image);
im= ImageIO.read(file);
} catch (Exception e) {
//没有找到图片则返回固定的图片
file = new File("image/1.jpg");
im=ImageIO.read(file);
}
response.setContentType("image/jpeg");
ServletOutputStream sos=response.getOutputStream();
ImageIO.write(im, "jpeg", sos);
} catch (Exception e) {
}
}
}