一、背景
用户上传了一张图片,图片到服务器后用户得到一个链接,可以将图片显示在浏览器上。
二、实现
假设项目名叫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();
}
}
相关文章
- 【iOS开发】在UILabel中同时显示图片和文字,"混排"。
- C#在图片框中显示一幅图片及其信息
- 从Oracle中数据库中读取以Blob类型存储的图片显示在jsp页面中
- swing中JList控件使用:每一项以 图片+文字(文字在图片的下面) 的形式显示并且在水平方向排列
- 将PHP数组传递到Javascript w/o,显示在源代码中。
- 为什么HTML要求在浏览器中显示多个空格?
- 空格 在不同浏览器中显示距离不一致问题解决方法
- 黑马程序员之WinForm编程基础学习笔记:页面上有一张图片,默认是隐藏的,用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁则显示图片。
- 在使用Angular JS中的异步POST调用检索CSV数据后,如何强制浏览器显示文件下载对话框?
- 关于javaWeb页面在IE8下显示灰白或打不开和IE浏览器兼容问题。