完整获取图片根据图片链接地址

 
//完整方式 

                              try {
                                    URL url = new URL(图片链接地址);  
                                    HttpURLConnection uc = (HttpURLConnection) url.openConnection();  
                                    uc.setDoInput(true);//设置是否要从 URL 连接读取数据,默认为true  
                                    uc.connect();  
                                    in = uc.getInputStream();
                                   bi = ImageIO.read(in);
                                } catch (IIOException e) {
                                    Iterator readers = ImageIO.getImageReadersByFormatName("JPEG");
                                    ImageReader reader = null;
                                    while (readers.hasNext()) {
                                        reader = (ImageReader) readers.next();
                                        if (reader.canReadRaster()) {
                                            break;
                                        }
                                    }
                                    ImageInputStream input = ImageIO.createImageInputStream(in);
                                    reader.setInput(input);
                                    Raster raster = reader.readRaster(0, null);
                                    bi = new BufferedImage(raster.getWidth(), raster.getHeight(),
                                            BufferedImage.TYPE_4BYTE_ABGR);
                                    bi.getRaster().setRect(raster);
                                }
                                 double width = bi.getWidth();
                                 double height = bi.getHeight();
                                double percent = widths/width;  
                                int newWidth = (int)(width * percent);  
                                int newHeight = (int)(height * percent);   
                                BufferedImage image = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_BGR);  
                                Graphics graphics = image.createGraphics();  
                                graphics.drawImage(bi, 0, 0, newWidth, newHeight, null);
                                String path = ProgramInjectServiceImpl.class.getResource("/").getPath();
                                path = path.substring(0,path.indexOf("WEB-INF"));
                                String fileName = p.getFileName();
                                String last = fileName.substring(fileName.lastIndexOf(".")+1);
                                File fout = new File(path + "temp/"+fileName);
                                ImageIO.write(image, last, fout);
                                fout.delete();
                               

                               //可能获取不完整方式
                              URL url2= new URL(图片链接地址);
                 HttpURLConnection urlconn = (HttpURLConnection) url2.openConnection();

                              InputStream is = url2.openStream();
                 int in = is.available(); // 得到文件大小  
                 byte[] buffer = new byte[in];
                 is.read(buffer); // 读数据  
                 is.close();  
                 OutputStream out= new FileOutputStream(输出图片文件路径(包括图片名称));
                 out.write(buffer); // 输出数据  
                 out.close();




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值