我正在将图像上传到后端,并且我想在上传完成后将其显示在前端。为此,我将它放在临时文件夹下。我不清楚的部分 - 如何将此图像发送到用户浏览器?
5 回答
也许您可以使用uploadify,它非常简单,您可以一次上传多个文件。查看演示http://www.uploadify.com/demos/
在您的HTML
文件中,您需要使用img
标签。如果你的图片是 titled pic.jpg
,你会使用类似的东西:
<img src="temp/pic.jpg" alt="My incredible image.">
Servlet 对此非常有帮助。您不需要将图像存储到文件夹或任何东西,请使用以下步骤。您应该使用“java.io.InputStream”以字节为单位获取图像,并将流作为字节发送,并且应该使用java.io.OutputStream来读取并显示它。请检查 输入流 javadoc和输出流 javadoc 以获得更多说明。要将图像从客户端发送到服务器端,请使用表单元素中的图像上传,并将表单提交到您的 servlet,并使用 inputstream 接收图像字节并将其提供给 outputstream 并返回一个 outputstream。以字节数组显示图像的示例代码。
byte[] imageBytes = getImageAsBytes();
response.setContentType("image/jpeg");
response.setContentLength(imageBytes.length);
response.getOutputStream().write(imageBytes);
最后将 url 提供给您的 servlet,在 <img> 标记的 src 属性中返回一个输出流<img src="url to your servlet">
你也可以参考这些...... 1.http://stackoverflow.com/a/1154279/1866662 2.http://stackoverflow.com/a/1264756/1866662
response.setContentType("image/jpg");
response.setHeader("Content-Disposition","inline;filename=filename.jpg");
您是否尝试在默认 Web 浏览器中打开本地图像?如果是这样,请执行以下操作:
java.io.File imageFile = new java.io.File("image.png");
java.awt.Desktop.getDesktop().browse(imageFile.toURI());
它会将文件图像打开到默认的网络浏览器。