七牛云文件上传、处理工具类

本文档介绍了如何在项目中实现七牛云文件上传和处理的工具类,包括覆盖上传图片的实现步骤及注意事项,如需刷新七牛云目录以显示最新上传的图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

项目需要,后台所有图片需要上传到七牛云。

以下是自己写的工具类

实现

	/**
	 * 七牛云工具类
	 */
public class QiNiuUtils {
	
		private Logger log = LoggerFactory.getLogger(QiNiuUtils.class);
	
		private static UploadManager uploadManager;
		private static com.qiniu.storage.Configuration cfg;
	
		private static String accessKey = "";
		private static String secretKey = "";
	
		public QiNiuUtils() {
	
			try {
				accessKey = XxlConfClient.get("default.qiniuyun_accesskey", "");
				secretKey = XxlConfClient.get("default.qiniuyun_secretkey", "");
				log.info("七牛云 accessKey:" + accessKey + " ,secretKey:" + secretKey);
				cfg = new com.qiniu.storage.Configuration(Zone.autoZone());
				uploadManager = new UploadManager(cfg);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}

		/**
		 * 刷新目录
		 * 
		 * @param folders
		 *            待刷新的目录列表,目录必须以 / 结尾
		 * @return
		 */
		public boolean refreshFolders(String[] folders) {
	
			if (null == folders) {
				return false;
			}
			StringBuilder sBuilder = new StringBuilder();
			sBuilder.append(getCdnDomainOfBucket());
			sBuilder.append(getFolder());
	
			for (int i = 0; i < folders.length; i++) {
				folders[i] = sBuilder.toString() + folders[i];
			}
	
			try {
				// 单次方法调用刷新的目录不可以超过10个,另外刷新目录权限需要联系技术支持开通
				CdnResult.RefreshResult result = getCdnManager().refreshDirs(folders);
	
				if (null == result || 200 != result.code) {
					return false;
				}
				return true;
			} catch (Exception e) {
				log.error("refreshFolders Exception:" + e.getMessage());
				return false;
			}
		}
	
		/**
		 * 刷新文件cdn
		 * 
		 * @param fileUrls
		 *            待刷新的链接列表
		 * @return
		 */
		public boolean refreshFiles(String[] fileUrls) {
			if (null == fileUrls) {
				return false;
			}
			StringBuilder sBuilder = new StringBuilder();
			sBuilder.append(getCdnDomainOfBucket());
			sBuilder.append(getFolder());
	
			for (int i = 0; i < fileUrls.length; i++) {
				fileUrls[i] = sBuilder.toString() + fileUrls[i];
			}
	
			try {
				// 单次方法调用刷新的链接不可以超过100个
				CdnResult.RefreshResult result = getCdnManager().refreshUrls(fileUrls);
				if (null == result || 200 != result.code) {
					return false;
				}
				return true;
			} catch (Exception e) {
				log.error("refreshFiles Exception:" + e.getMessa
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值