resim dosyalarını eger başka bir http serverdan alıyorsanız default olarak
dersiniz yazar.
ancak eger http server size gif veya jpeg veya tiff gonderiyorsa o zaman tiffleri ayırmanız gerekir
her ne kadar http den inputStream çeksekte buradan kurulacak connection da mimetype bulunur burdan hareketle ayrıştırma yapabiliriz.
diyelim ayrıştırdık nasıl convert edecez , hemen şöyle;
burda en önemli konu eger bi şekilde inputstream ile oynamanız gerekirse artık kullanılamaz şekle geldigi. bir kere converter bulaştımı biraz ugraştırıyor
url = new URL(cmFullPath);
conn = url.openConnection();
in = (InputStream) conn.getInputStream();
BufferedImage image =ImageIO.read(in);
ImageIO.write(image,"jpg",response.getOutputStream());
response.getOutputStream().flush();
dersiniz yazar.
ancak eger http server size gif veya jpeg veya tiff gonderiyorsa o zaman tiffleri ayırmanız gerekir
response.setContentType("image/jpeg");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
url = new URL(cmFullPath);
conn = url.openConnection();
String fileType = conn.getContentType().toLowerCase();
in = (InputStream) conn.getInputStream();
if (fileType.indexOf("tiff")>-1){
RenderedImage image = ImageUtility.convertTifToJpg(in);
ImageIO.write(image, "jpg", response.getOutputStream());
}else{
writeDirect(in, response.getOutputStream());
}
her ne kadar http den inputStream çeksekte buradan kurulacak connection da mimetype bulunur burdan hareketle ayrıştırma yapabiliriz.
diyelim ayrıştırdık nasıl convert edecez , hemen şöyle;
TIFFDecodeParam decodeParam = new TIFFDecodeParam();
ImageDecoder imageDecoder = TIFFCodec.createImageDecoder("TIFF", inputStream, decodeParam);
RenderedImage renderedImage = imageDecoder.decodeAsRenderedImage();
burda en önemli konu eger bi şekilde inputstream ile oynamanız gerekirse artık kullanılamaz şekle geldigi. bir kere converter bulaştımı biraz ugraştırıyor
Yorumlar
Yorum Gönder