使用java实现把网页的图片加载到本地的swing里面查看,但是有些图片是动态生成的,比如用servlet直接生成输出流放到网页上,如何从里面题取出这种图片,谢谢 可以看发送到我的邮箱alone_dancer@sohu.com
[b]问题补充:[/b]
可能是说的不太清楚,就是不知道如何得到这个流,生成图片是用js调用servlate生成的,这是查看验证码部分源代码得到的结果
这是使用查看全部源代码得到的结果:
有源码发出来,或放邮箱交流更好。谢谢~
你把动态生成图片的页面粘出来,或是可访问的,让我访问下,我把那地址提取出来
一样是流操作啊。只不过网页的客户端是浏览器,你的客户端是swing罢了。
就把servlet生成验证码图片输出的动作反过来就行,输出图片用OutputStream,那接收图片就是InputStream。
servlet直接生成输出流你也是可以直接就用java得到这个流,然后再写成一张图片再显示
[code="java"]
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
public class DynamicGetURLImage {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//图片的http全路径
String imgurl = "http://xxx:8080/xxx/seccode.php?update=6689";
URL url = new URL(imgurl);
BufferedInputStream in = new BufferedInputStream(url.openStream());
//保存的图片文件名
File img = new File("img.jpg");
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(img));
byte[] buf = new byte[2048];
while(in.read(buf) != -1)
{
out.write(buf);
}
in.close();
out.close();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
[/code]