一、背景
用户上传了一张图片,图片到服务器后用户得到一个链接,可以将图片显示在浏览器上。
二、实现
假设项目名叫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();
}
}
相关文章
- 在html中显示base64图片
- JZTK项目 驾照题库项目servlet层得到的json字符串在浏览器中 汉字部分出现问号?无法正常显示的解决方法
- Android之---ImagView显示图片(将一张图片按原图大小合理显示在imageView上,避免OOM)
- 在Android中如何获取视频的第一帧图片并显示在一个ImageView中
- 通过JS在新的浏览器窗口/标签页显示图片
- 在Django框架中,如何通过MySQL数据库的存储过程高效处理批量图片上传任务?Django ORM是否支持直接将图片转换为BLOB格式存入MySQL?实现这一过程需要经过哪些中间步骤?
- 在th中显示图片
- IE浏览器在虚拟机中无法正常显示字符
- 在HTML中显示base64 img 图片
- Android中 在显示ImageView时图片上面和下面都出现一段空白区间的解决办法