java 圖片Base64轉成文件流,直接在瀏覽器訪問圖片

因爲業務,需要把圖片base64轉成文件流,然後直接在瀏覽器訪問就可以看見圖片

 


    /**
     * 回顯圖片
     * @author liuhengliang
     * @return ModelAndView
     */
    @RequestMapping(value = "/image")
    private void getImageById(HttpServletRequest request, HttpServletResponse response) {
        String valueData = "base64碼太長了不寫了。“;
        byte[] decode = this.decode(valueData);
        ByteArrayOutputStream output=new ByteArrayOutputStream();//可以捕獲內存緩衝區【生成的圖片在緩衝區裏面】的數據,將數據裝換成字節數組  ,輸出流的緩衝區的大小會隨着數據的不斷寫入而自動增加  使用toByteArray()  toString()獲得生成字節數組的數據
        try {
            output.write(decode);
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        try {
        ServletOutputStream out=response.getOutputStream();//servlet程序想servletOutputStream或PrintWriter對象中寫入數據將被servlet引擎從response中獲得
        output.writeTo(out);//將byte數組輸出流的全部內容寫到指定的輸出流參數中
        } catch (IOException e) {
            log.error(e.getMessage(),e);
        }
    }

/**
     * 解碼
     * 
     * @param str
     * @return string
     */
    public byte[] decode(String str) {
        return Base64.getDecoder().decode(str);
    }

 

然後瀏覽器直接訪問

127.0.0.1:8080/項目名/controller名字/方法名字。就可以了。

如圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章