JavaWeb将图片显示在浏览器中

一、背景
用户上传了一张图片,图片到服务器后用户得到一个链接,可以将图片显示在浏览器上。

二、实现
假设项目名叫TestProject,文件放在项目根目录下的uploadImages文件夹下。
①图片名为英文,可直接通过链接打开图片
<a href="http://localhost:8080/TestProject/uploadImages/myImage.jpg">预览图片</a>

②图片名含有中文,通过Servlet将图片输出到浏览器上,使用图片在服务器上的绝对路径
showImage.jsp
<a href="/TestProject/showImageServlet?filename=测试的图片一枚.jpg">预览图片</a>

showImageServlet
public void showImage(HttpServletRequest request, HttpServletResponse response) throws Exception
{
response.setContentType("text/html; charset=UTF-8");
response.setContentType("image/jpeg");
String fname = request.getParameter("filename");
String newpath = new String(fname.getBytes("ISO-8859-1"), "UTF-8");
String absolutePath = rootPath + newpath;
FileInputStream fis = new FileInputStream(absolutePath);
OutputStream os = response.getOutputStream();
try
{
int count = 0;
byte[] buffer = new byte[1024 * 1024];
while ((count = fis.read(buffer)) != -1)
os.write(buffer, 0, count);
os.flush();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (os != null)
os.close();
if (fis != null)
fis.close();
}
}

时间: 2024-12-22 22:04:28

JavaWeb将图片显示在浏览器中的相关文章

javaweb图片显示在浏览器的问题

问题描述 javaweb图片显示在浏览器的问题 请问下如何将保存在服务端的一大批图片显示在浏览器上,业务逻辑是怎么样的? 我的项目用的是jersey框架,前端是html,照片保存在服务端的文件夹中,我想 让它们显示在浏览器中.我试过后台穿路径给前端,然后用img去显示,但这种方 法每当我新增加一张图片时,刷新后不能及时显示,需要清空缓存再刷新才出来? 求一种批量显示图片在浏览器段的方法的. 解决方案 原文地址:点击打开链接 一.背景 用户上传了一张图片,图片到服务器后用户得到一个链接,可以将图片

javascript如何解析base64图片数据 并且将图片显示在网页中

问题描述 javascript如何解析base64图片数据 并且将图片显示在网页中 最好是有详细的javascript解析base64的源代码(本人初学者请见谅),显示这一块儿 怎么获取javascript解析好的图片 麻烦各位大神了 急!急!急! 解决方案 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var base64DecodeChars =

vb.net(basler相机SDK抓取图像数据流后,将图片显示在picturebox中)

问题描述 vb.net(basler相机SDK抓取图像数据流后,将图片显示在picturebox中) vs2012,vb.net编程,basler相机的sdk取像得到数据流后basler有自己的方法显示图片,但我不要中他的方法,我要显示在自己的picturebox控件中,自己写了一段程序,如图,102行一直提示说参数无效,求解! 解决方案 图太小了,看不见.你可以先保存为bmp 用picturebox1.Image = Image.FromFile(文件)

java读取本地的html文件并且将其样式原样的显示在浏览器中

问题描述 java读取本地的html文件并且将其样式原样的显示在浏览器中 2C java读取本地html文件并且将其样式原样的显示在浏览器中,且不能将其路径显示在地址栏中!求大神解答!就这些币了,全给了! 解决方案 用servlet是没错的,在方法体里面可以写成IO流 然后给上HTML文件的 path路径,然后用流读取文件全部内容输出到想要跳转的页面:如果你知道节点那个东西怎么获取的话,可以直接得到body的内容 解决方案二: 类似这样 public class ServletClass ext

asp图片显示问题-Asp中如何把一个网站的某个目录下的图片全部加载在页面

问题描述 Asp中如何把一个网站的某个目录下的图片全部加载在页面 界面代码 后台代码//图片存在//photo/US000001/我的相册/1.jpg//其中US000001是u.use_id可以获取的我的相册是DropDownListPhoto.SelectValue的值 private void DataListPhotoBind() {//其中u.use_id是用户id string path = Server.MapPath(""photo"") + &qu

ext net-VS中安装ext.net后控件无法正确显示,浏览器中查看正常

问题描述 VS中安装ext.net后控件无法正确显示,浏览器中查看正常 设计界面中EXT控件显示 please configure in source view

awt-java AWT组件在线编译如何显示在浏览器中

问题描述 java AWT组件在线编译如何显示在浏览器中 小弟最近在做在线编译,如果有人用java写了用到AWT组件的代码,比如说创建Frame什么的如何在浏览器端显示啊?跪求大神指点 解决方案 这个没有办法,只能下载程序,然后在客户端直接运行. 解决方案二: 可以的,问下度娘 java applet,可以嵌入html中 另外可以参考下http://developer.51cto.com/art/200906/128149.htm 解决方案三: 如果人家有本地平台干嘛还要用你的在线编译呢? 解决

access-PHP将十六进制流转换成图片显示在页面中的问题

问题描述 PHP将十六进制流转换成图片显示在页面中的问题 用php将图片转换成十六进制流保存到access数据库中,现在想从access数据库中读取这张图片,即将十六进制流转换成图片显示在页面中,求解 解决方案 http://www.xue163.com/news/1172/11727069.html

JS预览图像将本地图片显示到浏览器上_javascript技巧

复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript"&