package com.jcdm.common.utils.file; import java.io.ByteArrayInputStream; import java.io.FileInputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.util.Arrays; import org.apache.poi.util.IOUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.jcdm.common.config.MesConfig; import com.jcdm.common.constant.Constants; import com.jcdm.common.utils.StringUtils; /** * 图片处ç†å·¥å…·ç±» * * @author jc */ 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 { if (url.startsWith("http")) { // ç½‘ç»œåœ°å€ URL urlObj = new URL(url); URLConnection urlConnection = urlObj.openConnection(); urlConnection.setConnectTimeout(30 * 1000); urlConnection.setReadTimeout(60 * 1000); urlConnection.setDoInput(true); in = urlConnection.getInputStream(); } else { // æœ¬æœºåœ°å€ String localPath = MesConfig.getProfile(); String downloadPath = localPath + StringUtils.substringAfter(url, Constants.RESOURCE_PREFIX); in = new FileInputStream(downloadPath); } return IOUtils.toByteArray(in); } catch (Exception e) { log.error("获å–文件路径异常 {}", e); return null; } finally { IOUtils.closeQuietly(in); } } }