zoukankan      html  css  js  c++  java
  • 浏览器异步加载服务器端的图片

    1:使用base64访问图片

    需求:浏览器中的<img>标签动态更换来自服务器端的图片。

    适用场景:不能通过url直接获取到图片的时候。

    java后台service访问服务器端本地资源,生成二进制数据,转成base64编码:

    BASE64Encoder encoder = new sun.misc.BASE64Encoder(); 
    File file = new File(fileurl);  
    FileInputStream fips = new FileInputStream(file);  
    ByteArrayOutputStream bops = new ByteArrayOutputStream();  
    int data = -1;  
    try {  
        while((data = inStream.read()) != -1){  
            bops.write(data);  
        }
    } catch(Exception e){  
        return null;  
    } 
    byte[] btImg = bops.toByteArray();
    return encoder.encodeBuffer(btImg).trim();

    前台js接收上面来自服务器后台的base64编码,设置为img标签的src:

    //可以使用ajax接收来自服务器端的base64编码
    $("img").attr("src", "data:image/jpeg;base64," + 来自服务器的base64编码);

    2:设置tomcat虚拟路径访问图片

    原因:由于web项目的html前台需要通过img标签使用url加载图片资源,而通常只能访问项目相对路径下的资源,所以要通过tomcat映射虚拟路径来访问别的磁盘中的资源。

    在tomcate安装目录下:confCatalinalocalhost中创建一个xml文件(file.xml)。注意:file.xml的名称要与下面的path=""值相同。

    <?xml version='1.0' encoding='utf-8'?>
    <Context crossContext="true" docBase="C:/xxx" path="file" reloadable="true">
    </Context>

    重启tomcat;
    访问虚拟目录 http://localhost:8080/file      

  • 相关阅读:
    nohup
    MYSQL提权总结
    udf提权方法和出现问题汇总
    windows 2012 抓明文密码方法
    用CPAU替代RUNAS
    MS15-034 HTTP.sys (IIS) DoS And Possible Remote Code Execution – AGGIORNAMENTO CRITICO
    php注入专题
    Mysql 另类盲注中的一些技巧
    Elasticsearch Groovy任意命令执行漏洞EXP
    linux好用的擦屁股工具
  • 原文地址:https://www.cnblogs.com/chenhao1990/p/4628957.html
Copyright © 2011-2022 走看看