七牛云存储使用的utils

自己弄了一个简单为七牛云的utils文件,基础版本,适合初学者:

上传文件:
Response res = uploadManager.put(file, key, getUpToken());

**put 的第一个参数可以是文件file类型,可以是路径,还可以是byte[]
在web项目中,显然 路径是不行的,可以使用file或者byte[];**


public class qiniuYunUtils {

    private static final Logger LOGGER = LoggerFactory.getLogger(qiniuYunUtils.class);

    private static String buckeName = "sdingba";

    private static String url = "http://************.com/";

    public static String getUrl() {
        return url;
    }

    private static Auth authInstance() {
        String access = "*************";
        String secret = "*************";
        // 密钥配置
        Auth auth = Auth.create(access, secret);
        return auth;
    }

    /**
     * 普通上传
     * 
     * @return
     */
    private static String getUpToken() {
        return authInstance().uploadToken(buckeName);
    }

    /**
     * 覆盖上传
     * 
     * @param key
     * @return
     */
    private static String getUpTokenUpdate(String key) {
        return authInstance().uploadToken(buckeName, key);
    }

    /**
     * 更新上传文件
     * 路径上传不适合web项目,所有注释掉了,想要的可以参考上一篇博客自己写一个
     * 
     * @param filePath
     * @param fileName
     */
    // public static void uploadUpdate(String filePath, String fileName) {
    // filePath = "/home/su/图片/桌面/1353977500NrBAhr.jpg";
    // fileName = "sdingbaFileName";
    // File file = new File(filePath);
    // uploadUpdate(file, fileName);
    // }

    /**
     * 更新上传文件
     *
     * @param file <byte[]>
     * @param fileName
     */
    public static void uploadUpdate(byte[] file, String fileName, String orderBy) {
        String key = orderBy + "=" + UUID.randomUUID().toString() + "_" + fileName;
        UploadManager uploadManager = new UploadManager();// 创建上传对象
        try {
            Response res = uploadManager.put(file, key, getUpTokenUpdate(key));
        } catch (QiniuException e) {
            Response r = e.response;
            LOGGER.error("更新上传七牛云异常:", r.toString());
            try {
                LOGGER.error("更新上传七牛云异常:", r.bodyString());
                System.out.println();
            } catch (QiniuException e1) {
            }
        }
    }

    /**
     * 上传文件
     * 路径上传不适合web项目,所有注释掉了,想要的可以参考上一篇博客自己写一个
     * @param filePath
     * @param fileName
     */
    // public static String upload(String filePath, String fileName) {
    // filePath = "/home/su/图片/桌面/1353977500NrBAhr.jpg";
    // fileName = "sdingbaFileName";
    // File file = new File(filePath);
     return upload(file, fileName);
    // return null;
    // }

    /**
     * 上传文件
     * 
     * @param file byte[]
     * @param fileName
     * @return 文件名
     */
    public static String upload(byte[] file, String fileName, String orderBy) {
        String key = orderBy + "=" + UUID.randomUUID().toString() + "_" + fileName;
        UploadManager uploadManager = new UploadManager();// 创建上传对象
        try {
            Response res = uploadManager.put(file, key, getUpToken());
            return res.bodyString();
        } catch (QiniuException e) {
            Response r = e.response;
            LOGGER.error("上传七牛云异常:", r.toString());
            try {
                LOGGER.error("上传七牛云异常:", r.bodyString());
                System.out.println();
            } catch (QiniuException e1) {
            }
        }
        return null;
    }

    /**
     * 删除一个文件
     * 
     * @param key
     */
    public static void deleteImg(String key) {
        // 实例化一个 bucketManage
        BucketManager bucketManager = new BucketManager(authInstance());
        try {
            bucketManager.delete(buckeName, key);
        } catch (QiniuException e) {
            Response r = e.response;
            System.out.println(r.toString());
        }
    }

    //批处理删除文件,大家可以自己写一个批处理更新,或者添加的,原理差不多
    public static boolean BatchDeleteImg(List<String> imgPaths) {
        BucketManager bucketManager = new BucketManager(authInstance());
        BucketManager.Batch operations = new BucketManager.Batch();
        for (String url : imgPaths) {
            operations.delete(buckeName, url);
        }
        try {
            bucketManager.batch(operations);
            return true;
        } catch (QiniuException e) {
            Response r = e.response;
            LOGGER.error("文件删除错误", r.toString());
            e.printStackTrace();
            return false;
        }
    }

    /**
     * 处理文件格式大小
     *
     * @param srcImageIo InputStream 文件
     * @param width 宽
     * @param height 高
     * @return
     */
    public static byte[] resizeImageFile(InputStream srcImageIo, int width, int height) {
        Image srcImg;
        ByteArrayOutputStream byteArrayOutputStream = null;
        try {
            srcImg = ImageIO.read(srcImageIo);
            BufferedImage buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
            buffImg.getGraphics().drawImage(srcImg.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, null);
            byteArrayOutputStream = new ByteArrayOutputStream();
            ImageIO.write(buffImg, "JPEG", byteArrayOutputStream);
            return byteArrayOutputStream.toByteArray();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            srcImg = null;
            if (byteArrayOutputStream != null) {
                try {
                    byteArrayOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }
        }
        return null;
    }

    /**
     * 处理文件格式大小
     * 
     * @param srcImagePath url<本地>
     * @param width
     * @param height
     * @return
     */
    public static byte[] resizeImageFile(String srcImagePath, int width, int height) {
        File file = new File(srcImagePath);
        try {
            InputStream input = new FileInputStream(file);
            return resizeImageFile(input, width, height);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } finally {
        }
        return null;
    }

}

/**
     * 判断文件是否是图片格式
     *
     * @param imageFile
     * @return
     */
    private static boolean isImage(InputStream imageFile) {
        Image img = null;
        try {
            img = ImageIO.read(imageFile);
            if (img == null || img.getWidth(null) <= 0 || img.getHeight(null) <= 0) {
                return false;
            }
            return true;
        } catch (Exception e) {
            return false;
        } finally {
            img = null;
        }
    }

---以下2个方法  是  适合我自己用的,处理文件的名称格式
 public String getImageOriginalFileName(String url) {
        int indexFirst = url.indexOf("_") + 1;
        if (indexFirst > 0) {
            return url.substring(indexFirst);
        }
        return "";
    }

    private String getImageFileOrderBy(String url) {
        int indexFirst = url.indexOf("=");
        if (indexFirst > 0) {
            return url.substring(0, indexFirst);
        }
        return "0";
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值