国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java BufferImage 轉(zhuǎn)換 Base64 傳送至前端 和 圖片沒有中文

2019-11-06 08:52:40
字體:
供稿:網(wǎng)友

java BufferImage 轉(zhuǎn)換 Base64 傳送至前端

首先這是個坑  大坑  

首先是我這邊是生成圖片 用Java里面的 畫出來的

然后用的是 BufferImage 這個類 

我們是動態(tài)生成圖片 然后把圖片轉(zhuǎn)換成base64 發(fā)送到web端接受  

但是坑爹的是 

轉(zhuǎn)換過程中會出現(xiàn)幾個令人幫虧的狀況

1. 在轉(zhuǎn)換成base64是 會在 base64字符串中 自動加上那個 /r/n

2. 在轉(zhuǎn)換過程中可能圖片過大 建議使用jpg 

3. 在前臺接受過程中 因為http不支持中文等  所以會出現(xiàn)兩邊的 base64不一樣  

下面是我的代碼

Java 后端

	ByteArrayOutputStream baos = new ByteArrayOutputStream();//io流        ImageIO.write(png, "png", baos);//寫入流中        byte[] bytes = baos.toByteArray();//轉(zhuǎn)換成字節(jié)        BASE64Encoder encoder = new BASE64Encoder();        String png_base64 =  encoder.encodeBuffer(bytes).trim();//轉(zhuǎn)換成base64串        png_base64 = png_base64.replaceAll("/n", "").replaceAll("/r", "");//刪除 /r/n        return png_base64;在前端JS 接受的時候需要解一下url

	decodeURI(data.res_data.png_url)//利用js自帶的api 進(jìn)行解碼

ok 這樣就可以直接使用我們傳過去的base64 進(jìn)行圖片展示了

記得要我們傳回去的參數(shù)前面加上 

 data:image/png;base64, 

這邊需要注意的是 本地和服務(wù)器開發(fā)不一樣 尤其是服務(wù)器是在linux環(huán)境下  linux java 默認(rèn)是沒有中文的 所以你在 畫圖的時候是沒有中文展現(xiàn)出來 或出現(xiàn)亂碼 

這個時候你需要 去設(shè)置java的字體 解決辦法 

  http://download.csdn.net/download/flippy/5227161 這個資源太貴了 就是 需要5分

這樣就可以了

可以按照自己的圖片格式進(jìn)行傳參 和頭信息  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 奎屯市| 曲阜市| 荆门市| 淮安市| 镇巴县| 崇义县| 健康| 宝清县| 田林县| 客服| 永康市| 常德市| 阜新| 青冈县| 法库县| 栾城县| 玉树县| 南平市| 昌黎县| 水富县| 休宁县| 霍山县| 饶平县| 漠河县| 汶上县| 连城县| 安陆市| 祥云县| 永登县| 柳林县| 金川县| 弥渡县| 津市市| 商都县| 鹤庆县| 科技| 兰考县| 大新县| 龙山县| 渭南市| 荃湾区|