我正在为我的网站上传图片,我希望上传到服务器的每张图片都是大小不变的。 因此,当我将它们从服务器显示到我的网站时,可以快速上传,图像使用的服务器空间更少。
代码我用来使用JSP上传图片。
logo_name = System.currentTimeMillis() + ".png";
File uploadedFile = new File("/www/static.appcanvas.com/"+logo_name);
item.write(uploadedFile);
任何相关文章,一些提示都会有很大帮助
答案 0 :(得分:0)
您没有告诉我们您是如何解析上传的。但是,如果“item是org.apache.commons.fileupload.FileItem,那么您可以使用以下内容。
BufferedImage bi = ImageIO.read(item.getInputStream());
Image img = bi.getScaledInstance(100,100,Image.SCALE_SMOOTH);
int w = img.getWidth();
int h = img.getHeight();
BufferedImage scaled = new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
Graphics2D g = scaled.createGraphics();
g.drawImage(img,0,0,null);
if(g != null) g.dispose();
ImageIO.write(scaled,"png", uploadedFile);