Инфраструктура Java Servlet, которая выполняет перекодирование изображений в предпочтительный формат и т. Д. - PullRequest
1 голос
/ 01 марта 2011

Существуют ли какие-либо инфраструктуры / библиотеки, которые предоставляют сервлеты / фильтры и т. Д., Которые выполняют перекодирование на лету изображений.

  • интерпретировать заголовки подтверждения и вывести файл, перекодировав его в новый формат, если необходимо, проверив фактический формат исходного файла изображения.
  • обеспечивает низкокачественную и высококачественную версию изображения.
  • повторно кодирует изображение в новые измерения. Параметры width и height могут запрашивать строковые параметры.

Я мог бы создавать версии файла во всех форматах, во время загрузки, но это кажется излишним. Я бы предпочел лениво создать перекодированный файл и поместить его в кеш, если он снова будет обработан и т. Д.

Ответы [ 4 ]

1 голос
/ 01 марта 2011

Вам не нужны какие-либо рамки.Сделайте следующее:

  1. Загрузите изображение.См. Apache Commons FileUpload
  2. Обработка загруженного файла с использованием любого из
  3. При обработке укажите ссылку для загрузки.
0 голосов
/ 01 марта 2011

Вам не нужны рамки. В Java есть все, что вам нужно:

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.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ImageServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("image/png");
        ServletOutputStream output = response.getOutputStream();
        try {
          BufferedImage image = ImageIO.read( new File( "/path/to/image.jpg" ) );
          ImageIO.write(image, "png", output);
        } finally {
          output.close();
        }
    } 
}
0 голосов
/ 01 марта 2011

Как предложил Нишантс .. Я бы использовал Apache Commons FileUpload, как только вы получите изображение ... просто конвертируйте его в любой формат, который вы хотите

0 голосов
/ 01 марта 2011

ImageMagick может быть тем, что вы ищете.http://www.imagemagick.org/script/index.php, здесь доступен интерфейс Java: http://www.jmagick.org/index.html

...