92 lines
2.4 KiB
Plaintext
92 lines
2.4 KiB
Plaintext
|
|
package com.securityControl.common.core.utils.file;
|
||
|
|
|
||
|
|
import java.io.*;
|
||
|
|
import java.net.URL;
|
||
|
|
import java.net.URLConnection;
|
||
|
|
import java.nio.file.Files;
|
||
|
|
import java.nio.file.Paths;
|
||
|
|
import java.util.Arrays;
|
||
|
|
import java.util.Base64;
|
||
|
|
|
||
|
|
import org.apache.poi.util.IOUtils;
|
||
|
|
import org.slf4j.Logger;
|
||
|
|
import org.slf4j.LoggerFactory;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 图片处理工具类
|
||
|
|
*
|
||
|
|
* @author czc
|
||
|
|
*/
|
||
|
|
public class ImageUtils {
|
||
|
|
private static final Logger log = LoggerFactory.getLogger(ImageUtils.class);
|
||
|
|
|
||
|
|
public static byte[] getImage(String imagePath) {
|
||
|
|
InputStream is = getFile(imagePath);
|
||
|
|
try {
|
||
|
|
return IOUtils.toByteArray(is);
|
||
|
|
} catch (Exception e) {
|
||
|
|
log.error("图片加载异常 {}", e);
|
||
|
|
return null;
|
||
|
|
} finally {
|
||
|
|
IOUtils.closeQuietly(is);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public static InputStream getFile(String imagePath) {
|
||
|
|
try {
|
||
|
|
byte[] result = readFile(imagePath);
|
||
|
|
result = Arrays.copyOf(result, result.length);
|
||
|
|
return new ByteArrayInputStream(result);
|
||
|
|
} catch (Exception e) {
|
||
|
|
log.error("获取图片异常 {}", e);
|
||
|
|
}
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 读取文件为字节数据
|
||
|
|
*
|
||
|
|
* @param url 地址
|
||
|
|
* @return 字节数据
|
||
|
|
*/
|
||
|
|
public static byte[] readFile(String url) {
|
||
|
|
InputStream in = null;
|
||
|
|
try {
|
||
|
|
// 网络地址
|
||
|
|
URL urlObj = new URL(url);
|
||
|
|
URLConnection urlConnection = urlObj.openConnection();
|
||
|
|
urlConnection.setConnectTimeout(30 * 1000);
|
||
|
|
urlConnection.setReadTimeout(60 * 1000);
|
||
|
|
urlConnection.setDoInput(true);
|
||
|
|
in = urlConnection.getInputStream();
|
||
|
|
return IOUtils.toByteArray(in);
|
||
|
|
} catch (Exception e) {
|
||
|
|
log.error("访问文件异常 {}", e);
|
||
|
|
return null;
|
||
|
|
} finally {
|
||
|
|
IOUtils.closeQuietly(in);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 图片转Base64
|
||
|
|
*
|
||
|
|
* @param imgFile 图片地址
|
||
|
|
* @return base64字符串
|
||
|
|
*/
|
||
|
|
public static String getImgBase(String imgFile) {
|
||
|
|
InputStream in = null;
|
||
|
|
byte[] data = null;
|
||
|
|
try {
|
||
|
|
in = Files.newInputStream(Paths.get(imgFile));
|
||
|
|
data = new byte[in.available()];
|
||
|
|
in.read(data);
|
||
|
|
in.close();
|
||
|
|
} catch (IOException e) {
|
||
|
|
log.error(e.getMessage());
|
||
|
|
}
|
||
|
|
return Base64.getEncoder().encodeToString(data);
|
||
|
|
}
|
||
|
|
}
|