七牛云集成于springboot
七牛云集成于springboot
在使用七牛云之前需要注册七牛云,最好需要有自己域名,因为七牛云只会提供一个月的测试域名。
七牛云的注册
-
登录七牛云
-
添加对象存储

-
看着填吧,第一个随便填,第二个随便选,最后配置地域即可,访问控制选择公开吧

-
给自己的七牛云绑定域名,也可使用一月的测试域名(不推荐)

-
去自己的域名解析的地方配置
如何配置域名的CNAME


七牛云集成于springboot
- 导入依赖
<dependency><groupId>com.qiniugroupId><artifactId>qiniu-java-sdkartifactId><version>7.2.7version>dependency>
- 导入工具类
package com.mx.utils;import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
import lombok.extern.slf4j.Slf4j;import java.io.FileInputStream;@Slf4j
public class QiNiuUtil {// 设置需要操作的账号的AK和SKprivate static final String ACCESS_KEY = "RI_nUAhIlMElPW98QxQckQOBHPSZCwZCCZvqn4Tw";private static final String SECRET_KEY = "BrdYIUx7BC4tOiFz_eNwlmMDupDzdywpI2JYobjd";// 要上传的空间名称private static final String BUCKETNAME = "mx2432544821";// 密钥private static final Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);// 外链默认域名private static final String DOMAIN = "qhixpzwpb.hn-bkt.clouddn.com";/*** 将图片上传到七牛云*/public static String uploadQNImg(FileInputStream file, String key) {// 构造一个带指定Zone对象的配置类, 注意这里的Zone.zone0需要根据主机选择UploadManager uploadManager = new UploadManager(new Configuration(Zone.zone2()));Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY );// 根据命名空间生成的上传tokenString path=null;String token = auth.uploadToken(BUCKETNAME);try{// 上传图片文件Response res = uploadManager.put(file, key, token, null, null);if (!res.isOK()) {throw new RuntimeException("上传七牛出错:" + res.toString());}// 解析上传成功的结果DefaultPutRet putRet = new Gson().fromJson(res.bodyString(), DefaultPutRet.class);path = DOMAIN + "/" + putRet.key;// 这个returnPath是获得到的外链地址,通过这个地址可以直接打开图片}catch (QiniuException e){e.printStackTrace();}return path;}
}
- 调用工具类
String path = null;// 获取文件的名称String fileName = file.getOriginalFilename();// 使用工具类根据上传文件生成唯一图片名称String imgName = UUID.randomUUID().toString()+fileName;if (!file.isEmpty()) {//此处需要抛出异常FileInputStream inputStream = (FileInputStream) file.getInputStream();//由于有http才算远程链接 否则会请求当前ip和端口下的文件path ="http://"+ QiNiuUtil.uploadQNImg(inputStream, imgName);System.out.print("七牛云返回的图片链接:" + path);}
tips:工具类中的Zone.zone2()需要按情况更改
UploadManager uploadManager = new UploadManager(new Configuration(Zone.zone2()));

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
