web图片读取与xmlHttpRequest方式请求解析展示

1、java web  后端代码

@RequestMapping(value = {"/img/render"}, method = {RequestMethod.GET, RequestMethod.POST, RequestMethod.OPTIONS})
    @CrossOrigin
    @ResponseBody
    public String getPic(HttpServletRequest httpServletRequest,
                         HttpServletResponse httpServletResponse) {

        String path = "C:\\Users\\admin\\Pictures\\11.jpg";
        FileInputStream fis = null;
        OutputStream os = null;
        try {
            fis = new FileInputStream(path);
            os = httpServletResponse.getOutputStream();
            int count = 0;
            byte[] buffer = new byte[1024 * 8];
            while ((count = fis.read(buffer)) != -1) {
                os.write(buffer, 0, count);
                os.flush();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            fis.close();
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "ok";
    }

2、web前端代码

function getpic(url,imgContainer) {
        var xhr = new XMLHttpRequest();
        xhr.open("get", url, true);
        xhr.responseType = "blob";
        xhr.onload = function() {
            if (xhr.status == 200||xhr.status == 304) {
                var blob = xhr.response;
                var img = document.createElement("img");
                img.onload = function(e) {
                    window.URL.revokeObjectURL(img.src);
                };
                img.src = window.URL.createObjectURL(blob);
                $(imgContainer).html(img);
                $("#basedataPicWinDiv").window("open");
            } else {
                console.log("Error", xhr.statusText);
            }
        }
        xhr.send();
    }
getpic('http://localhost:8086/img/render',"#basedataPicWinDiv");
 

 

posted on 2019-10-17 14:08  苹果园dog  阅读(702)  评论(0编辑  收藏  举报

导航