package com.vxdata.gym.common;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class ImgToByteUtil {
/**
* 获取本地图片转成字节流
*/
public static byte[] getLocalImgByUrl(String filePath) {
try {
// 通过输入流获取图片数据
InputStream inputStream = new FileInputStream(filePath);
// 得到图片的二进制数据
byte[] btImg = readInputStream(inputStream);
return btImg;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 获取网络图片转成字节流
*
* @param strUrl 完整图片地址
* @return 图片资源数组
*/
public static byte[] getNetImgByUrl(String strUrl) {
try {
URL url = new URL(strUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(2 * 1000);
// 通过输入流获取图片数据
InputStream inStream = conn.getInputStream();
// 得到图片的二进制数据
byte[] btImg = readInputStream(inStream);
return btImg;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 从输入流中获取字节流数据
*
* @param inStream 输入流
* @return 图片流
*/
private static byte[] readInputStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
// 设置每次读取缓存区大小
byte[] buffer = new byte[1024 * 10];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
/**
* 测试
*
* @param args
*/
public static void main(String[] args) {
String url = "D:/vxdata/uploadPath/upload/2022/04/08/0dd55a37-9fe7-45da-b1ee-4efa14044b3d.jpg";
System.out.println(getLocalImgByUrl(url));
}
}
ツール クラス: ローカル イメージまたはネットワーク イメージをバイト ストリームに変換する
おすすめ
転載: blog.csdn.net/qq_44154912/article/details/124609539
おすすめ
ランキング