能不能直接在HTML页面上显示二进制的图片

能不能直接在HTML页面上显示二进制的图片,第1张

个人觉得,不可能的!

图像的显示要借助底层一些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. 测试结果


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6096900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存