文档章节

img标签显示图片方法总结

o
 osc_bkdv2it5
发布于 2019/08/20 17:52
字数 322
阅读 0
收藏 0
lfe

精选30+云产品,助力企业轻松上云!>>>

1、通过图片在项目下的可访问路径。

  例如:<img src='../assets/imags/xxx.jpg' />

 

2、通过一个下载器链接,读取(文件)服务器上的图片资源。

  例如:<img src='http://ip:port/projectName/getImageServlet?imagesPath' />

  后端代码:

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String imagePath = "D://牙牙牙白.gif";
        String contentType = "";
        String lowerPath = imagePath.toLowerCase();
        if(lowerPath.endsWith("jpg") || lowerPath.endsWith("jpe") || lowerPath.endsWith("jpeg")){
            contentType = "image/jpeg;charset=utf-8";
        } else if (lowerPath.endsWith("png")) {
            contentType = "image/png;charset=utf-8";
        } else if (lowerPath.endsWith("bmp")) {
            contentType = "image/bmp;charset=utf-8";
        } else if (lowerPath.endsWith("gif")) {
            contentType = "image/gif;charset=utf-8";
        }
        response.setContentType(contentType);
        
        // 文件流的方式
        InputStream in = new FileInputStream(imagePath);// 输入流
        OutputStream out = response.getOutputStream();// 输出流
        
        // 边读边写
        byte[] bt = new byte[1024];
        int length = 0;
        while ((length = in.read(bt)) != -1) {
            out.write(bt, 0, length);
        }
        // 关闭流
        in.close();
        out.flush();
        out.close();
    }  

 

3、base64加密数据填充法。

  例如:<img src="data:image/gif;base64,R0lGODlhHAAmAKIHAKqqqsvLy0hISObm5vf394uLiwAAAP///yH5B…  EoqQqJKAIBaQOVKHAXr3t7txgBjboSvB8EpLoFZywOAo3LFE5lYs/QW9LT1TRk1V7S2xYJADs=">

  后端代码:

  public static String getImageBase64() throws Exception{
        String imagePath = "D://牙牙牙白.gif";
        String contentType = "";
        String lowerPath = imagePath.toLowerCase();
        if(lowerPath.endsWith("jpg") || lowerPath.endsWith("jpe") || lowerPath.endsWith("jpeg")){
            contentType = "image/jpeg";
        } else if (lowerPath.endsWith("png")) {
            contentType = "image/png";
        } else if (lowerPath.endsWith("bmp")) {
            contentType = "image/bmp";
        } else if (lowerPath.endsWith("gif")) {
            contentType = "image/gif";
        }
        
        InputStream in = new FileInputStream(imagePath);// 输入流
        ByteArrayOutputStream out = new ByteArrayOutputStream(); // 输出流
        // 边读边写
        byte[] buffer = new byte[1024];
        int length = 0;
        while ((length = in.read(buffer)) != -1) {
            out.write(buffer, 0, length);
        }
        // 关闭流
        in.close();
        out.flush();
        out.close();
        
        // import sun.misc.BASE64Encoder
        BASE64Encoder encoder = new BASE64Encoder();
        String imageBase64 = new String(encoder.encode(out.toByteArray()));
        String imageSrc = "data:" + contentType + ";base64," + imageBase64;
        
        return imageSrc;
    }

  

 

  

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么)

laravel基础课程---11、lavarel的ajax操作(ajax优劣势是什么) 一、总结 一句话总结: 优势:用户友好度:异步通信,不会频繁刷新页面,用户友好度比较高 优势:减轻数据库压力 缺点:操作难...

osc_2btjzrrn
2019/05/12
2
0
图片展示方法总结

展示图片的方法一般有两种: 1.css 通过background属性加载图片(适用于本地图片); .img { width: 100px; height: 100px; background: url('./test.png'); background-size: 100%; } html......

osc_8ik0jlpr
2018/02/26
3
0
新浪微博相册图片外链限制,图床不显示解决方法总结!

近期新浪微博抽风,很多站长的图片都存在微博相册,导致绝大部分网站的图片无法显示,文主的站也不幸沦陷,找了各种方法解决此问题,后来综合各种说法自己找了个方法。 新浪微博相册外链图片...

osc_nd4uekgu
04/16
5
0
thinkphp+ajax无刷新分页并加载显示图片

最近自己用thinkphp和bootstrap做一个小站点,在用到ajax与后台数据库交互实现无刷新分页时,因为我需要返回的数据是html代码,里面包含要显示出图片,然而返回数据到静态页面时,却发现返回...

glowry
2014/03/17
6.3K
0
web前端-day01

java知识体系 前端课程介绍 HTML-用来勾勒出网页的结构和内容--骨架 CSS-样式表-用来美化网页-(皮肤-化妆-美颜-整容) javaScript-让网页呈现出动态的数据和效果 jQuery-是js的框架,提高了jav...

席慕白孤城
2018/07/05
10
0

没有更多内容

加载失败,请刷新页面

加载更多

聚焦餐饮行业,研究院昨发布数据显示

谈话,聚焦餐饮行业,研究院昨发布数据显示,今年上半年,全国餐饮行业招聘需求增长46.18%,平均月薪6387元.随着餐饮行业的快速发展,"如何留人"也成为餐饮企业的思考题. 记者了解到,中国饭店协会...

点击fojewio
22分钟前
20
0
3·15晚会曝光上海氪信、招财旺旺SDK包泄露隐私 后台上传交易验证码敏感信息

来源 | 央视 7月16日,央视3·15晚会曝光国美易卡、美的空调遥控器、姨妈日历、银码头等50多款软件中内嵌的SDK包读取、上传用户隐私问题。上海氪信信息技术有限公司、北京招财旺旺信息技术有...

镭射财经
31分钟前
9
0
名称=''的无效表单控件不可聚焦 - An invalid form control with name='' is not focusable

问题: I have an acute problem on my website. 我的网站上有一个严重的问题。 In Google Chrome some customers are not able to proceed to my payment page. 在Google Chrome浏览器中,某......

技术盛宴
32分钟前
14
0
Hacker News 简讯 2020-07-17

更新时间: 2020-07-17 00:00 D 2.093.0 - (dlang.org) D 2.093.0 得分:32 | 评论:2 Let’s avoid talk of ‘chemical imbalance’: it’s people in distress - (psyche.co) 让我们避免谈论“......

FalconChen
37分钟前
80
0
【LeetCode】 59 在排序数组中查找元素的第一个和最后一个位置

题目: 解题思路: 二分法 https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/solution/zai-pai-xu-shu-zu-zhong-cha-zhao-yuan-su-de-di-yi-/ 代......

JaneRoad
昨天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部