请求本地图片

如果js不能跨域访问本地资源,比如说图片,可以考虑通过请求的方式,通过后台访问返回到前台显示,示例如下:

后台:

    /**
     * 后台读取卫星图片返回到前台显示
     * @param imgName
     * @param request
     * @param response
     * @return
     * @throws IOException
     */
    @RequestMapping(value = "/sateImg")
    public String getSateImg(@RequestParam(value="imgName")  String imgName, HttpServletRequest request,HttpServletResponse response) throws IOException {
        ServletOutputStream out = null;
        FileInputStream ips = null;
        try {
            //获取图片存放路径
            String imgPath;
            if (isDebug.equals("true")) {
                URL dataUrl = this.getClass().getClassLoader().getResource("static/img/sate/sate.png");
                ips = new FileInputStream(new File(dataUrl.toURI()));
            } else if(isDebug.equals("false")){
                imgPath  = dir +"/sate/"+TimeUtil.format(new Date(),"yyyyMMdd")+"/" +imgName+".png";
                ips = new FileInputStream(new File(imgPath));
            }
            response.setContentType("multipart/form-data");
            out = response.getOutputStream();
            //读取文件流
            int len = 0;
            byte[] buffer = new byte[1024 * 10];
            while ((len = ips.read(buffer)) != -1){
                out.write(buffer,0,len);
            }
            out.flush();
            logger.info("获取卫星图片"+imgName+"成功");
        }catch (Exception e){
            logger.error("获取卫星图片失败");
        }finally {
            out.close();
            ips.close();
        }
        return null;
    }

 前台:

/**
 * 加载卫星图层
 */
function getSateLiteLayer() {
    if (sateLiteLayer == null) {
        var fileName = formatDate(new Date().getTime(),"ddHH") + "-" +Math.floor(new Date().getMinutes()/15);
        var imageUrl = 'rest/sateImg?imgName='+fileName;
        var bounds = [[-4.96, 50.02], [59.97, 144.97]];
        sateLiteLayer = L.imageOverlay(imageUrl, bounds, {opacity: 0.8});
    }
    return sateLiteLayer;
}

 

转载于:https://www.cnblogs.com/unique1319/p/7691372.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值