因爲業務,需要把圖片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名字/方法名字。就可以了。
如圖