4 changed files with 211 additions and 9 deletions
			
			
		@ -0,0 +1,100 @@ | 
				
			|||||||
 | 
					package com.ruoyi.common.utils.file; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.io.ByteArrayInputStream; | 
				
			||||||
 | 
					import java.io.ByteArrayOutputStream; | 
				
			||||||
 | 
					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.ruoyi.common.config.RuoYiConfig; | 
				
			||||||
 | 
					import com.ruoyi.common.constant.Constants; | 
				
			||||||
 | 
					import com.ruoyi.common.utils.StringUtils; | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** | 
				
			||||||
 | 
					 * 图片处理工具类 | 
				
			||||||
 | 
					 * | 
				
			||||||
 | 
					 * @author ruoyi | 
				
			||||||
 | 
					 */ | 
				
			||||||
 | 
					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 key 地址 | 
				
			||||||
 | 
					     * @return 字节数据 | 
				
			||||||
 | 
					     */ | 
				
			||||||
 | 
					    public static byte[] readFile(String url) | 
				
			||||||
 | 
					    { | 
				
			||||||
 | 
					        InputStream in = null; | 
				
			||||||
 | 
					        ByteArrayOutputStream baos = 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 = RuoYiConfig.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(baos); | 
				
			||||||
 | 
					        } | 
				
			||||||
 | 
					    } | 
				
			||||||
 | 
					} | 
				
			||||||
					Loading…
					
					
				
		Reference in new issue