parent
a9c6ba12e6
commit
0187344798
@ -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