国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java圖片轉base64和真實的結果不一樣

瀏覽:108日期:2023-12-20 13:01:09

問題描述

先上代碼

String imgURL = 'http://www.g3zj.net:8082/util.action?method=appauthimg&d_=99';byte[] data = null;try { // 創建URL URL url = new URL(imgURL); // 創建鏈接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod('GET'); conn.setConnectTimeout(5 * 1000); InputStream inStream = conn.getInputStream(); data = new byte[inStream.available()]; inStream.read(data); inStream.close();} catch (IOException e) { e.printStackTrace();}// 對字節數組Base64編碼BASE64Encoder encoder = new BASE64Encoder();str=encoder.encode(data);

就是從一個網絡讀取圖片并轉成base64.發現轉出來的結果無法用于img標簽顯示(已加了data:image/jpeg;base64,前綴)。后來直接百度找了一個在線生成base64的網站,把這個圖片url放上去轉換,結果發現別人在線轉換出來的base64比我java代碼轉換的base64還長了很多。

為什么會這樣呢?

問題解答

回答1:

InputStream 的 available() 返回的值是該InputStream 在不被阻塞的情況下,一次可以讀取到的數據長度。但網絡情況總是不定的,經常阻塞。所以建議使用循環讀取 InputStream 中的數據。

回答2:

讀取整個InputStream時,用Streams.copy()比穩妥,例如題主這個例子中,可以是:

ByteArrayOutputStream baos = new ByteArrayOutputStream();Streams.copy(conn.getInputStream(), baos);String str = new BASE64Encoder(baos.toByteArray());回答3:

String imgURL = 'http://www.g3zj.net:8082/util.action?method=appauthimg&d_=99';ByteArrayOutputStream data = new ByteArrayOutputStream();try { // 創建URL URL url = new URL(imgURL); byte[] by = new byte[1024]; // 創建鏈接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod('GET'); conn.setConnectTimeout(5 * 1000); InputStream is = conn.getInputStream(); // 將內容讀取內存中 int len = -1; while ((len = is.read(by)) != -1) {data.write(by, 0, len); } // 關閉流 is.close();} catch (IOException e) { e.printStackTrace();}// 對字節數組Base64編碼BASE64Encoder encoder = new BASE64Encoder();System.out.println('data:image/jpg;base64,'+encoder.encode(data.toByteArray()));

然而樓主的代碼是可以用的,在我這里,只要加上data:image/jpg;base64,就好了

標簽: java
相關文章:
主站蜘蛛池模板: 日韩国产欧美在线观看一区二区 | 男人操女人逼逼视频 | 一级欧美一级日韩 | 国产亚洲在线 | 手机看片1024精品国产 | 亚洲精品色综合色在线观看 | 成人在线91| 扒开双腿猛进入爽爽在线观看 | 中文字幕亚洲在线 | 911精品国产亚洲日本美国韩国 | 三级毛片在线免费观看 | fc2在线播放 | 美女被男人桶到嗷嗷叫爽网站 | 中文字幕乱码中文乱码51精品 | 新婚第一次一级毛片 | 极品丝袜高跟91白沙发在线 | 久久国产一区二区三区 | 亚洲精品成人a在线观看 | 日本高清无吗免费播放 | 日韩成人免费一级毛片 | 中字毛片 | 欧美日本色 | 日韩一级精品视频在线观看 | 免费人成网站免费看视频 | 精品一区二区三区免费站 | 玖玖玖精品视频免费播放 | 成人国产精品 | 亚洲免费区 | 特级淫片国产免费高清视频 | 精品视频在线观看一区二区三区 | 欧美精品一区二区三区免费播放 | 日本黄色大片免费观看 | 三级视频在线 | 国产香蕉国产精品偷在线观看 | 欧美一级毛片片aa视频 | 久久精品国产免费看久久精品 | 久艹精品 | 久久视频免费在线观看 | 欧美精品久久一区二区三区 | 91国内精品久久久久怡红院 | 有码一区 |