从我的本地计算机位置动态显示图像

时间:2013-07-30 09:27:39

标签: java html image file jsp

我想在计算机上显示本地位置的图像,我使用此代码,因为它对我来说很好用,

<%@ page import="java.io.*" %>
<%@page contentType="image/gif" %>
<%
    OutputStream o = response.getOutputStream();
    InputStream is = new FileInputStream(new File("D:/FTP/ECG/ecg.jpg"));
    byte[] buf = new byte[32 * 1024]; 
    int nRead = 0;
    while( (nRead=is.read(buf)) != -1 )
    {
      o.write(buf, 0, nRead);
    }

    o.flush();
    o.close();

%>

我的问题是我想用它来显示内容,还有其他东西,比如输入框和标签。

2 个答案:

答案 0 :(得分:1)

您在这里做的是将图像流式传输到客户端。您需要的是一个HTML文档,它引用此图像,如:

<img src="path/to/your/jsp">
<p>Some other text</p>

答案 1 :(得分:0)

Scriptlets = nono,代码对它们的可读性要差得多。尽可能使用JSTL。

要显示实际图像,请使用html标记

<img src="D:/FTP/ECG/ecg.jpg" />

假设您有一个页面,其中显示图像列表(从db加载)。

在控制器中为准备视图的方法:

ModelAndView mv = new ModelAndView("yourView");
mv.addObject("imageList",imageList);
return mv;

imageList只是您之前从db加载的文件名(List)列表。

然后在你的jsp中你做:

<c:forEach items="${imageList}" var="path">
    <img src="yourPath/${path} />
</c:forEach>