【发布时间】:2016-11-21 12:59:33
【问题描述】:
我正在使用 servlet 在页面上显示图像。链接看起来像
http://webappname.com/getImage?p=imagename.jpg
但是结果图像在浏览器标签显示
getImage (100x200)
我想在那里输出更多有用的信息,比如字符串,我该怎么做呢?
【问题讨论】:
标签: servlets jakarta-ee web-applications
我正在使用 servlet 在页面上显示图像。链接看起来像
http://webappname.com/getImage?p=imagename.jpg
但是结果图像在浏览器标签显示
getImage (100x200)
我想在那里输出更多有用的信息,比如字符串,我该怎么做呢?
【问题讨论】:
标签: servlets jakarta-ee web-applications
由于响应是图像,它不能像 HTML 响应那样包含附加信息(例如页面标题)。一种可能的解决方法是返回一个包含您的图像的简单 HMTL 页面。
您可以使用附加的 URL 参数触发然后触发常规下载(现有行为)。比如:
http://webappname.com/getImage?p=imagename.jpg
将返回此 HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" src="img-dl-style.css">
<script type="application/javascript">
// JavaScript to trigger image download when #dlButton is clicked
</script>
<title>Full Image Name</title>
</head>
<body>
<div class="container">
<h1>Full Image Name</h1>
<img src="http://webappname.com/getImage?p=imagename.jpg&dl=1>
<button id="dlButton" type="button">Download this image</button>
</div>
</body>
</html>
任何对该 URL 的直接访问:
http://webappname.com/getImage?p=imagename.jpg&dl=1
将直接返回图像,并带有默认浏览器标题。
要查看实际情况,请查看 Dropbox 的共享文件查看器。如下链接:
https://www.dropbox.com/s/qmocfrco2t0d28o/Fluffbeast.docx
返回包含共享文件预览和下载按钮的完整网页。单击该按钮会触发带有此 URL 的下载:
https://www.dropbox.com/s/qmocfrco2t0d28o/Fluffbeast.docx?dl=1
【讨论】: