如何在jsp中显示图像?
问题描述:
我有一个bytearray图像。如何在jsp中显示图像?
我需要显示在JSP页面中的JPG格式图片,并同时点击图像,我可以将图像下载到我的电脑:
我从我的MySQL数据库加载图像作为字节数组..
我的代码是
ResultSet res = statement.executeQuery("SELECT * FROM
upload_data where user_id = "+userID);
while (res.next()) {
contactDetails = new ContactDetails();
contactDetails.setContactPhoto(res.getBytes("photo"));
byteArrayBackToImage1(res.getBytes("photo"));
contactsList.add(contactDetails);
}
public void byteArrayBackToImage1(byte[] imageInByte){
try{
Random rand = new Random();
int numNoRange = rand.nextInt();
String number = String.valueOf(numNoRange);
//convert byte array back to BufferedImage
InputStream in = new ByteArrayInputStream(imageInByte);
BufferedImage bImageFromConvert = ImageIO.read(in);
System.out.println("bImageFromConvert : "+bImageFromConvert);
/*ImageIO.write(bImageFromConvert, "jpg",
new File("c:\\"+number+".jpg")); */
}catch (Exception e) {
// TODO: handle exception
}
我需要显示在JSP中的图像作为
例如:image.jpg的 image2.jpg
,并通过点击image.jsp,我可以下载图片并保存到我的电脑
请帮
答
您在JSP中生成的HTML必须包含一个带有src的img元素,该元素指向一个servlet或操作的URL,它将从数据库加载图像并将其发送到带有image/jpeg内容类型的输出流。
// in your HTML :
<img src="/getImage.action?imageId=${id_of_the_image}"/>
// in the servlet mapped to /getImage.action:
// get the ID of the image from the request parameters
String imageId = request.getParameter("imageId");
byte[] imageData = getImageFromDatabase(imageId);
response.setContentType("image/jpeg");
response.getOutputStream().write(imageData);
所有的浏览器都有一个右键单击 - 保存图像为...菜单项,所以我不会在应用程序中实现这一点。
+0
。当我调用GetImagesFromDatabase..wat时,我有一张图像列表 – jennifer 2011-03-09 09:59:53
答
JSP:
<div id="profileDiv" style="padding: 10px; border: solid 2px #D6D6D6;">
<img src="imageDisplayProcess.do?pKey=<c:out value="${staff.staffId}" />"
width="117" height="160"
onError="loadImage()" onAbort="loadImage()" />
</div>
的Servlet // imageDisplayProcess
imgByt = imageClass.getPhotograph();//return blob...
response.setContentType("image/jpg");
response.getOutputStream().write(imgByt);
response.getOutputStream().flush();
response.getOutputStream().close();
回应*我有一个图像清单,对应于特定的ID *的数据库,您需要唯一标识图像。 – 2011-03-09 10:05:13
相关:http://*.com/questions/2340406/retrieve-multiple-images-from-mysql/2341322#2341322 – BalusC 2011-03-09 12:31:44
@ jigar @BalusC这将是一个很大的帮助,如果你可以提供一些输入http:// *.com/questions/11124540/some-questions-related-to-implementation-of-image-inside-email-signature。提前致谢。 – 2012-06-20 18:01:17