You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
2.4 KiB

package siprp.images.servlet;
import com.evolute.utils.error.ErrorLogger;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import siprp.data.outer.ImageData;
public final class ImagesServlet extends HttpServlet
{
private static final long serialVersionUID = 999506147931075031L;
// private static final double MAX_WIDTH = 4.5;
// private static final double MAX_HEIGHT = 2.0;
private static final String PARAMETER_ID = "id";
// private static Boolean logger = false;
// static
// {
// if ( ! logger )
// {
// WebImagesLogger.init();
// logger = true;
// }
// }
public void doGet( HttpServletRequest request, HttpServletResponse response ) //throws IOException, ServletException
{
response.setContentType( "image/png" );
String param = request.getParameter( PARAMETER_ID );
System.out.println( "SIPRPImages . ImagesServlet . doGet() : ImageData.ID = " + param );
try
{
ServletOutputStream out = response.getOutputStream();
if ( param != null && ! "".equals( param.trim() ) )
{
try
{
Integer imageID = new Integer( param );
ImageDataProvider imgProvider = ImageDataProvider.getProvider();
ImageData img = imgProvider.loadImageDataByID( imageID );
if ( img != null )
{
out.write( img.getImage_data() );
}
}
catch ( Exception e )
{
ErrorLogger.logException( e );
}
}
out.flush();
out.close();
}
catch ( Exception e )
{
e.printStackTrace();
// ErrorLogger.logException( e );
}
// response.setContentType( "image/png" );
// ServletOutputStream out = response.getOutputStream();
// String param = request.getParameter( PARAMETER_ID );
// System.out.println(param);
// try
// {
// Integer id = new Integer( param );
// Image img = new ImageDAO().getImageForID( id );
//// int width = img.getWidth( null );
//// int height = img.getHeight( null );
//// double wrel = ((double)width ) / MAX_WIDTH;
//// double hrel = ((double)height ) / MAX_HEIGHT;
//// if( wrel > 1 && wrel > hrel )
//// {
//// img = img.getScaledInstance( MAX_WIDTH, -1, Image.SCALE_FAST );
//// }
//// else if( hrel > 1 && hrel > wrel )
//// {
//// img = img.getScaledInstance( -1, MAX_HEIGHT, Image.SCALE_FAST );
//// }
// out.write( img.getImageData() );
// }
// catch (Exception e) {
// e.printStackTrace();
// }
}
}