springboot+七牛云 把图片上传到七牛云,将本地图片变为网络图片,跟图床一样
作者:互联网
1.注册七牛云账号
https://portal.qiniu.com/homehttps://portal.qiniu.com/home
1.2.然后开通存储,你实名认证后就会有个免费的
1.3.新建空间
1.4.选择公有的试试水
1.5查看你的ak和sk
点击右上角
点击密匙管理
这就是你的ak和sk,代码文件上传中要用。
2.代码
2.1导入七牛坐标
<!-- 七牛云-->
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>[7.7.0, 7.7.99]</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>happy-dns-java</artifactId>
<version>0.1.6</version>
<scope>test</scope>
</dependency>
2.2.编写控制器层
@Api(value = "发布类",description = "文件上传",tags = "发布类")
@Controller
public class FileUploadController {
@Autowired Result result;
@RequestMapping("/publish")
// @CachePut(value = "asd")
@ApiOperation("发布功能")
@ResponseBody
public Result publish(@RequestParam("title") String title,@RequestParam("file") MultipartFile[] files){
for (MultipartFile mf:files){
System.out.println(mf.getOriginalFilename());
}
// System.out.println(file.getOriginalFilename());
System.out.println(title);
//构造一个带指定 Region 对象的配置类
Configuration cfg = new Configuration(Region.region2());
//...其他参数参考类注释
UploadManager uploadManager = new UploadManager(cfg);
//...生成上传凭证,然后准备上传
String accessKey = "你的ak值";//ak值
String secretKey = "你的sk值";//sk值
String bucket = "你的空间名字";//刚命名的
//如果是Windows情况下,格式是 D:\\qiniu\\test.png
String localFilePath = "F:\\桌面\\billboard.jpg"; //文件上传路径
//默认不指定key的情况下,以文件内容的hash值作为文件名
String key = "test";//上传文件的名字
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
try {
Response response = uploadManager.put(localFilePath, key, upToken);
//解析上传成功的结果
DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
System.out.println(putRet.key);
System.out.println(putRet.hash);
} catch (QiniuException ex) {
Response r = ex.response;
System.err.println(r.toString());
try {
System.err.println(r.bodyString());
} catch (QiniuException ex2) {
//ignore
}
}
return result;
}
}
2.3测试
七牛云后台
可以看到test图片已经上传了,不过不绑定域名的话,七牛云30天后会给你清除掉。
文件上传你只要把格式变为http://域名//文件名 存到数据库中,展现的时候直接取数据库就行,ok日常记录一下。
标签:七牛云,String,com,qiniu,System,println,图片,上传,springboot 来源: https://blog.csdn.net/qq_55823436/article/details/122731040