package com.wmc.util;
import com.wmc.exception.BusinessException;
import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.BucketManager;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
public class QiniuUtils {
//秘钥管理中的AK
public static String accessKey = "vxaagab8o06QH6X_15bskIoOhLMXZM4FMEHmxBT8";
//秘钥管理中的SK
public static String secretKey = "dWz61SFxHAr75bDQ5EjgfrJrEi2IydV51h9ILZ9u";
//空间名称
public static String bucket = "zk-bs";
/**
* 文件上传:根据文件的绝对路径上传
* @param filePath 上传文件的绝对路径
* @param fileName 自定义的上传到七牛云上的文件名
*/
public static void upload2Qiniu(String filePath,String fileName){
//构造一个带指定Zone对象的配置类
Configuration cfg = new Configuration(Region.region2());
UploadManager uploadManager = new UploadManager(cfg);
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
try {
Response response = uploadManager.put(filePath, fileName, upToken);
//解析上传成功的结果
DefaultPutRet putRet =
new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
} catch (QiniuException ex) {
throw new BusinessException("上传失败");
}
}
/**
* 文件上传:根据字节数组上传
* @param bytes 文件数组
* @param fileName 七牛云上的文件名
*/
public static void upload2Qiniu(byte[] bytes, String fileName){
//构造一个带指定Zone对象的配置类
Configuration cfg = new Configuration(Region.region2());
//...其他参数参考类注释
UploadManager uploadManager = new UploadManager(cfg);
//默认不指定key的情况下,以文件内容的hash值作为文件名
String key = fileName;
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
try {
Response response = uploadManager.put(bytes, key, upToken);
//解析上传成功的结果
DefaultPutRet putRet =
new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
System.out.println(putRet.key);
System.out.println(putRet.hash);
} catch (QiniuException ex) {
throw new BusinessException("上传失败");
}
}
/**
* 删除文件
* @param fileName
*/
public static void deleteFileFromQiniu(String fileName){
//构造一个带指定Zone对象的配置类
Configuration cfg = new Configuration(Region.region2());
String key = fileName;
Auth auth = Auth.create(accessKey, secretKey);
BucketManager bucketManager = new BucketManager(auth, cfg);
try {
bucketManager.delete(bucket, key);
} catch (QiniuException ex) {
//如果遇到异常,说明删除失败
throw new BusinessException("删除失败");
}
}
}
java对接七牛云接口
原创
©著作权归作者所有:来自51CTO博客作者小王_Wang的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Spring Boot + 七牛OSS: 简化云存储集成
一键集成:Spring Boot与七牛云OSS的高效联动!
SpringBoot 七牛云 Java -
七牛云直播转mp4并截取视频
利用七牛云指令把m3u8转成mp4,并截取视频
七牛 直播 mp4 视频截取 -
java 七牛分片上传 前端上传七牛云
使用前端云上传图片API 七牛云的相关配置: jsp页面部分:1.引入js文件<!--七牛必要组件start--> <script type="text/javascript" src="./qianniuJs/js/moxie.js"></script> <script ty
java 七牛分片上传 前端 javascript python ViewUI -
redis 列出key的value
第一章 Redis 快速入门 Redis是一个Key-Value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操
redis 列出key的value redis 存储系统 cassandra memcached