【问题标题】:Dynamically display image from my local computer location从我的本地计算机位置动态显示图像
【发布时间】:2013-07-30 08:58:12
【问题描述】:

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

<%@ 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();

%>

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

【问题讨论】:

  • 就像说的那样,这在某种程度上是正确的,并且通过 HTTP 发送您的图像,这比使用本地文件 URI 更好。只需使用@Uooo 答案并创建一个 HTML 页面。无论如何,如果您将图像存储在数据库中,这是不可以的,图像不应该存储在数据库中。

标签: java html image file jsp


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    假设您有一个要显示图像列表(从数据库加载)的页面。

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

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

    imageList 只是您之前从数据库加载的文件名列表(列表)。

    然后在你的jsp中你做:

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

    【讨论】:

    • 我想从我的电脑动态显示图像,我知道使用 img 标签,但我只想指定 d:/ftp/ecg 并且图像的名称来自数据库并显示来自我的本地电脑路径
    • 如果我给本地路径,我的本地路径不能直接在 Eclipse 中工作,然后不能显示任何东西
    • 我不明白,但你可能想看看这个:stackoverflow.com/questions/3153337/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多