我这个图像是apple自绘的,然后用GIFEncoder转为gif文件格式,想传给servlet,该怎么做?

xiaoxiao_xiao 2002-02-04 09:04:12
...全文
127 点赞 收藏 15
写回复
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoxiao_xiao 2002-02-05
高手帮忙,一定加分
回复
sharetop 2002-02-04

问题已解决,就是用img src="一个servlet的链接",这样就可以显示动态图像了,而且用户也可以利用IE的功能实现打印和保存了。

回复
sharetop 2002-02-04

请看一下我在另一个帖子回的话 http://expert.csdn.net/Expert/topic/517/517613.shtm

也许这种效果就是你想要的??

你试一下吧,如果我有空我也会试一下的。:)

回复
xiaoxiao_xiao 2002-02-04
在apple中是动态显示图形,当用户点击按钮之后把当前画面作为gif图形传到servlet,因为客户想可以把当前图形保存或copy到excel中,我在java中没法实现,但ie中对网页中的图片自带这些功能,我的想法是把当前画面作为gif图形传到servlet端后,在通过servlet把该图形返回到客户端
回复
sharetop 2002-02-04

对,你说的正是问题所在。

我想你是想动态显示图形的(K线图或其它什么的?),如果是静态图(或做成静态图无所谓)的话,是可以照我上面所说的来做,但是如果是动态图,一般是直接嵌applet的,何必要存成gif文件呢?

这是一。

其二,有一点要更正,其实所说的保存gif文件,不可能是存在客户端的,因为servlet要显示的gif文件也只能是在服务器端嘛(就象html页中加入图片一样),所以你可以为不同用户生成不同的目录,专门存放它看到的gif图片(没办法的办法),当然这要求是注册用户才行。这样就不会涉及到数字签名之类的问题了。



回复
xiaoxiao_xiao 2002-02-04
因为把applet作的图存成gif文件涉及到本机(存放applet程序)上读写文件问题,要做数字签名 ,还有如果每个用户访问该applet时都在服务机上产生一个gif文件或者产生同一个gif就把前一个用户要的gif文件覆盖了,这也是一个问题
回复
sharetop 2002-02-04

servlet可以绘图,也是用Graphics这个类,但是要注意的一点是servlet是输出html的,所以要设置contentType="image/gif",这样你就不能做到同时在页面上有图有字了,所以一般应该是编译以后,把applet作的图存成gif文件,指这文件名和位置,在servlet中显示这个图片文件即可。

回复
xiaoxiao_xiao 2002-02-04
有什么办法?
回复
xiaoxiao_xiao 2002-02-04
是从applet传到servlet吗?
回复
Asprilla 2002-02-04
我记得servlet有个setAttribute的方法吧(把image放到那里传过去).
回复
xiaoxiao_xiao 2002-02-04
我的代码:
GIFEncoder gifEnc;
showStatus("connecting!");
java.net.URL url=new java.net.URL (URLString);
java.net.URLConnection connection = url.openConnection();
connection.setUseCaches(false);
connection.setDoOutput(true);
connection.setDoInput(true);
// Data will always be written to a byte array buffer so
// that we can tell the server the length of the data
ByteArrayOutputStream byteOut = new ByteArrayOutputStream();
// Create the output stream to be used to write the data to our buffer
ObjectOutputStream out = new ObjectOutputStream(byteOut);
gifEnc=new GIFEncoder(bi);
out.writeObject(gifEnc);
// Flush the data to the buffer
out.flush();
byte buf[] = byteOut.toByteArray();
connection.setRequestProperty("Content-type","image/gif");
connection.setRequestProperty("Content-length","" + buf.length);
// Get the output stream to the server and send our data buffer
DataOutputStream dataOut = new DataOutputStream(connection.getOutputStream());
dataOut.write(buf);
// Flush the output stream and close it
dataOut.flush();
dataOut.close();
showStatus("sending!");
回复
xiaoxiao_xiao 2002-02-04
在applet与servlet中传递Image对象,我试过了,不行呀,你是怎么实现的
回复
sharetop 2002-02-04

原来你是问如何把一个Image对象从applet传到servlet中?是吧??

为什么不重新画一个呢?用同样的方法在servlet中再画一次,即可,这是最简单的了。

否则用URLConnection来实现也是可以的,它可以在applet与servlet中传递对象,包括Image对象也行。

回复
xiaoxiao_xiao 2002-02-04
sharetop:
这种方法是最好的了,
但我的image在apple中绘的,你所提供的那个例子,他是在servlet绘的吧,现在的问题是怎样把在applet中绘image传个servlet?生成gif图形文件大约9k之间
回复
turbochen 2002-02-04
Apple???
Applet!!!
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告