Вывод файла изображения из сервлета

Как обслуживать образ, хранящийся на моем жестком диске, в сервлет?
Например:
У меня есть изображение, сохраненное в пути 'Images/button.png' и я хочу служить в сервлете с file/button.png URL file/button.png .

  • отобразить сервлет в /file url- /file
  • читать файл с диска
  • напишите его в response.getOutputStream()
  • установите заголовок Content-Type в image/png (если это только png)

Вот рабочий код:

  public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { ServletContext cntx= req.getServletContext(); // Get the absolute path of the image String filename = cntx.getRealPath("Images/button.png"); // retrieve mimeType dynamically String mime = cntx.getMimeType(filename); if (mime == null) { resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); return; } resp.setContentType(mime); File file = new File(filename); resp.setContentLength((int)file.length()); FileInputStream in = new FileInputStream(file); OutputStream out = resp.getOutputStream(); // Copy the contents of the file to the output stream byte[] buf = new byte[1024]; int count = 0; while ((count = in.read(buf)) >= 0) { out.write(buf, 0, count); } out.close(); in.close(); } 

Вот еще один очень простой способ.

 File file = new File("imageman.png"); BufferedImage image = ImageIO.read(file); ImageIO.write(image, "PNG", resp.getOutputStream()); 
  • ServletRequest.getParameterMap () возвращает Map и ServletRequest.getParameter () возвращает String?
  • Можно ли исключить некоторые конкретные URL-адреса из внутри ?
  • Получить привязку из URI
  • doGet и doPost в сервлетах
  • Невозможно установить заголовок в JSP. Ответ уже сделан
  • Как работают servlets? Создание, сеансы, общие переменные и multithreading
  • Spring: как я могу вставить HttpServletRequest в компонент с запросом?
  • Аннотации @WebServlet не работают с Tomcat 8
  • Как сопоставить запросы к HTML-файлу в Spring MVC?
  • Как загрузить файлы на серверной папке с помощью jsp
  • java.lang.IllegalArgumentException: указанный основной набор ресурсов недействителен
  • Давайте будем гением компьютера.