【问题标题】:Displaying uploaded file in web browser在网络浏览器中显示上传的文件
【发布时间】:2013-01-07 04:24:52
【问题描述】:

我正在将图像上传到后端,并且我想在上传完成后将其显示在前端。为此,我将它放在临时文件夹下。我不清楚的部分 - 如何将此图像发送到用户浏览器?

【问题讨论】:

  • 您应该将文件移动到您的网络应用程序可读的某个目录,然后从那里显示图像。
  • 文件是否公开?
  • 您是否使用 servlet 上传文件?
  • 感谢 Avinash,它对我有用。

标签: java image jakarta-ee upload


【解决方案1】:

也许您可以使用uploadify,它非常简单,您可以一次上传多个文件。查看演示http://www.uploadify.com/demos/

【讨论】:

    【解决方案2】:

    在您的HTML 文件中,您需要使用img 标记。如果你的图片标题为pic.jpg,你会使用类似:

    <img src="temp/pic.jpg" alt="My incredible image.">

    【讨论】:

      【解决方案3】:

      Servlet 对此非常有帮助。您不需要将图像存储到文件夹或任何东西,请使用以下步骤。 您应该使用“java.io.InputStream”以字节为单位获取图像,并将流作为字节发送,并且应该使用 java.io.OutputStream 来读取并显示它。 请检查 Input stream javadoc Output stream javadoc 以获得更多说明。 要将图像从客户端发送到服务器端,请在表单元素中使用图像上传,并将表单提交到您的 servlet 并使用 inputstream 接收图像字节并将其提供给 outputstream 并返回一个 outputstream。 以字节数组显示图像的示例代码。


      byte[] imageBytes = getImageAsBytes(); response.setContentType("image/jpeg"); response.setContentLength(imageBytes.length); response.getOutputStream().write(imageBytes);

      最后将 url 提供给您的 servlet,在 标签的 src 属性中返回一个输出流 <img src="url to your servlet">

      您也可以参考这些.... 1.http://stackoverflow.com/a/1154279/1866662 2.http://stackoverflow.com/a/1264756/1866662

      【讨论】:

        【解决方案4】:
        response.setContentType("image/jpg");
        response.setHeader("Content-Disposition","inline;filename=filename.jpg");
        

        【讨论】:

          【解决方案5】:

          您是否尝试在默认网络浏览器中打开本地图像?如果是,请执行:

          java.io.File imageFile = new java.io.File("image.png");
          java.awt.Desktop.getDesktop().browse(imageFile.toURI());
          

          它将文件图像打开到默认的网络浏览器。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-12-20
            • 1970-01-01
            • 1970-01-01
            • 2011-06-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多