图像的显示要借助底层一些API调用,特别是你自己写在浏览器的html语法中的东西
浏览器只是按照html格式进行解析,而不会有其他任何的动作,至于图片怎么被显示出来的
是因为IE按照<img src="url">指定的URL来请求服务器的资源而已。真正的显示还是和系统
的API调用有关,你可以通过spy++来观察IE的。你可以做成一个连接,点击那个连接以后
请求的资源被发送到客户端,你可以调用相应的程序来显示,这种例子很多,比如点连接可以
得到word/pdf/image等各种资源的。
如果要实现你想得那样,你的自己写个Tag,然后利用IE插件解析,我不知道行不行
就是乱说说的!
1. 发起请求页面 //ImageClient.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>ImageRequest</TITLE>
</HEAD>
<BODY>
<img src="http://127.0.0.1:8080/ImageServer.jsp"/>
</BODY>
</HTML>
2. 接受请求并返回结果页 //ImageServer.jsp
<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ page import="java.io.*"%>
<%
System.out.print("enter...")
String filePath = "C:/Program Files/Tomcat/Tomcat-7.0.4/webapps/ROOT/ericsson.gif"
File file = new File(filePath)
InputStream fis
try {
fis = new FileInputStream(file)
byte[] buf=new byte[(int)fis.available()]
fis.read(buf)
response.setContentType("application/binarycharset=ISO8859_1")
OutputStream outs = response.getOutputStream()
outs.write(buf)
outs.flush()
out.clear()
out = pageContext.pushBody()
} catch (FileNotFoundException e) {
e.printStackTrace()
} catch (IOException e) {
e.printStackTrace()
}
%>
3. 测试结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)