引入依赖

<qiniu.java.sdk.version>7.2.12</qiniu.java.sdk.version>
<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
    <version>${qiniu.java.sdk.version}</version>
</dependency>

七牛工具类

public class QiNiuUtil {

    protected final static Logger logger = LoggerFactory.getLogger(QiNiuUtil.class);

    /**
     * 上传文件 
     * 
     * @param bean 七牛配置对象
     * @param content  内容
     * @param fileName 文件名
     */
    public static void upload(QiNiuBean bean,byte[] content,String fileName) throws Exception{
        try {
            UploadManager uploadManager = bean.getUploadManager(null);
            // 调用put方法上传
            Response res = uploadManager.put(content, fileName, bean.getUpToken());
            // 打印返回的信息
            logger.info(String.format("upload success.result = %s.", res.toString()));
        } catch (QiniuException e) {
            Response r = e.response;
            // 请求失败时打印的异常的信息
            logger.error(String.format("upload error! result = %s.", r.toString()),e);
            throw e;
        }
    }

    /**
     * 获得文件下载地址
     * 
     * @param bean 七牛配置对象
     * @param fileName
     * @return  文件下载地址
     */
    public static String getDownloadUrl(QiNiuBean bean,String fileName) {
        String downloadUrl = StringUtils.EMPTY;
        try {
            BucketManager bucketManager = bean.getBucketManager(null);
            String[] domainList = bucketManager.domainList(bean.getBucketName());
            String domainOfBucket = domainList[0];
            String encodedFileName = URLEncoder.encode(fileName, "utf-8");
            downloadUrl = String.format("http://%s/%s", domainOfBucket, encodedFileName);
            logger.info(String.format("get download url success.result = %s.", downloadUrl));
        } catch (QiniuException e) {
            Response r = e.response;
            // 请求失败时打印的异常的信息
            logger.error(String.format("get download url error! result = %s.", r.toString()),e);
        } catch (UnsupportedEncodingException e) {
            logger.error("get download url error!",e);
        }
        return downloadUrl;
    }

    /**
     * 获得空间下所有的文件
     * 
     * @param bean 七牛配置对象
     * @return  文件列表
     */
    public static List<FileInfoVo> getBucketListFile(QiNiuBean bean){
        //文件名前缀
        String prefix = StringUtils.EMPTY;
        //每次迭代的长度限制,最大1000,推荐值 1000
        int limit = 1000;
        //指定目录分隔符,列出所有公共前缀(模拟列出目录效果)。缺省值为空字符串
        String delimiter = StringUtils.EMPTY;
        //列举空间文件列表
        BucketManager bucketManager = bean.getBucketManager(null);
        BucketManager.FileListIterator fileListIterator = bucketManager.createFileListIterator(bean.getBucketName(), prefix, limit, delimiter);
        List<FileInfo> fileInfos = new ArrayList<FileInfo>();
        while (fileListIterator.hasNext()) {
            //处理获取的file list结果
            fileInfos.addAll(Arrays.asList(fileListIterator.next()));
        }
        List<FileInfoVo> result = new ArrayList<FileInfoVo>();
        for(FileInfo info : fileInfos) {
            FileInfoVo vo = new FileInfoVo(info);
            result.add(vo);
        }
        return result;
    }

    /**
     * 删除文件
     * @param bean  七牛配置对象
     * @param fileName 文件名
     * @return true成功/false失败
     */
    public static void delete(QiNiuBean bean,String fileName) throws Exception {
        try {
            BucketManager bucketManager = bean.getBucketManager(null);
            bucketManager.delete(bean.getBucketName(), fileName);
            logger.info(String.format("delete file sucess. fileName =%s .", fileName));
        } catch (QiniuException e) {
            Response r = e.response;
            // 请求失败时打印的异常的信息
            logger.error(String.format("delete file error! result = %s.", r.toString()),e);
            throw e;
        }
    }
}
Copyright © wswzms.top 2019 all right reserved,powered by Gitbook该文件修订时间: 2019-04-17 14:06:22

results matching ""

    No results matching ""