zoukankan      html  css  js  c++  java
  • 工具类图片处理工具类

    package com.jyc.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 com.jyc.common.utils.StringUtils;
    import org.apache.poi.util.IOUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import com.jyc.common.config.RuoYiConfig;
    import com.jyc.common.constant.Constants;

    /**
    * 图片处理工具类
    *
    * @author jianyongchao
    */
    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 = "c:xxxxx";/** 上传路径 */
    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);
    IOUtils.closeQuietly(baos);
    }
    }
    }
  • 相关阅读:
    《Windows驱动开发技术详解》之派遣函数
    错误:无法解析外部符号
    《Windows驱动开发技术详解》之Windows内核函数
    《Windows驱动开发技术详解》之Windows内存管理
    《Windows驱动开发技术详解》之驱动程序的基本结构
    《Windows驱动开发技术详解》之编程加载NT式驱动
    二叉搜索树
    Trie树
    判断给定二叉树是否是平衡二叉树
    数字在排序数组中出现的次数
  • 原文地址:https://www.cnblogs.com/qq3245792286/p/15469674.html
Copyright © 2011-2022 走看看