图解Springboot集成七牛云并实现图片上传功能过程
七牛云的使用
1、进入官网,注册一个账号
文章图片
2、找到对象存储
文章图片
3、新建存储空间
文章图片
4、管理存储空间
文章图片
5、到此基本操作就完成了,接下来我们要在项目中使用
方式一:官方的帮助文档,很详细:
步骤一:找到开发者中心
文章图片
步骤二:选择对象存储
文章图片
步骤三:找到Java的SDK
【图解Springboot集成七牛云并实现图片上传功能过程】可以看到我们的官网非常详细!
文章图片
方式二:这里给大家封装好了一个工具类,maven项目可以直接用
官网是静态工具类,这里是注入到IOC容器当中!
1、导入pom依赖
com.qiniu qiniu-java-sdk[7.7.0, 7.7.99]
2、工具类QiniuUtils
@Componentpublic class QiniuUtils {public staticfinal String url = "http://测试域名/"; //七牛云图片服务器域名(有效1个月)@Value("${qiniu.accessKey}")privateString accessKey; //类似账号,在七牛云个人空间---密钥管理获取@Value("${qiniu.accessSecretKey}")privateString accessSecretKey; //类似密码public boolean upload(MultipartFile file, String fileName){//构造一个带指定 Region 对象的配置类Configuration cfg = new Configuration(Region.huabei()); //根据自己的对象空间的地址选(华为)//...其他参数参考类注释UploadManager uploadManager = new UploadManager(cfg); //...生成上传凭证,然后准备上传 (个人存储空间名字)String bucket = "个人存储空间名字"; //默认不指定key的情况下,以文件内容的hash值作为文件名try {byte[] uploadBytes = file.getBytes(); Auth auth = Auth.create(accessKey, accessSecretKey); String upToken = auth.uploadToken(bucket); Response response = uploadManager.put(uploadBytes, fileName, upToken); //解析上传成功的结果DefaultPutRet putRet = JSON.parseObject(response.bodyString(), DefaultPutRet.class); return true; } catch (Exception ex) {ex.printStackTrace(); }return false; }}
3、我们的两个密钥是配置在properties中,如下
文章图片
4、还是在springboot的配置文件中
pringboot默认只上传1M的图片大小所以修改文件配置
# 上传文件总的最大值spring.servlet.multipart.max-request-size=20MB# 单个文件的最大值spring.servlet.multipart.max-file-size=2MB
5、使用QiniuUtils工具类
@RestController@RequestMapping("/upload")public class UploadController {@AutowiredQiniuUtils qiniuUtils ; @PostMappingpublic Result upload(@RequestParam("image") MultipartFile file){//原始文件名称比如 aa.pngString originalFilename = file.getOriginalFilename() ; //将原始名称修改为:唯一文件名称String fileName = UUID.randomUUID().toString() + "." + StringUtils.substringAfterLast(originalFilename, "."); //上传文件,上传到哪呢?图片服务器七牛云//把图片发放到距离图片最近的服务器上,降低我们自身服务器的带宽消耗boolean upload = qiniuUtils.upload(file, fileName); if (upload){//上传成功return Result.success(QiniuUtils.url+fileName) ; }return Result.fail(20001,"图片 上传失败!") ; }}
我们调用该接口给他一个文件就完成使用了,无论是网络还是本地,都会保存在七牛云服务器当中!
文章图片
效果:上传本地或网络图片,会生成一个唯一图片在七牛云服务器中的地址!
文章图片
结束
到此这篇关于图解Springboot集成七牛云并实现图片上传功能过程的文章就介绍到这了,更多相关Springboot 集成七牛云内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- SpringBoot特点之依赖管理和自动装配(实例代码)
- 关于SpringBoot整合Canal数据同步的问题
- SpringBoot中Dozer的使用小结
- Springboot整合Dozer实现深度复制的方法
- springboot|SpringBoot系统笔记
- spring|springboot简单小项目练习之增删改查-exercisePro01
- Spring|SpringBoot2——SpringBoot入门、SpringBoot的自动配置、配置文件和开发小技巧
- SpringBoot(一)——自动装配原理
- SpringBoot|【SpringBoot 2】(六)配置文件 web开发相关
- spring|springboot集成mybatis(使用逆向工程)