1、去七牛云注册,建好自有空间

2、导入依赖

<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>[7.7.0, 7.7.99]</version>
</dependency>

3、我这里是服务器直传,将本地的图片上传到七牛云托管,建好QiniuUtils工具类

package com.mszlu.blog.util;import com.alibaba.fastjson.JSON;
import com.qiniu.http.Response;
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;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;@Component
public class QiniuUtils {public static  final String url = "http://rpe08rotl.hn-bkt.clouddn.com/";  //改成你的外链域名@Value("${qiniu.accessKey}")
private  String accessKey;@Value("${qiniu.accessSecretKey}")
private  String accessSecretKey;public  boolean upload(MultipartFile file,String fileName){//构造一个带指定 Region 对象的配置类Configuration cfg = new Configuration(Region.huanan());  //改成你设置的区域,我是华南huanan//...其他参数参考类注释UploadManager uploadManager = new UploadManager(cfg);//...生成上传凭证,然后准备上传String bucket = "mszlu-jia";  //改成你的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;}
}

注意点:改成你自己的url、区域和bucket名称!!!!!!!

4、去application.yml文件配置密钥accessKey和accessSecretKey

qiniu.accessKey=PL0iXbQMO465*******************    //改成你自己的
qiniu.accessSecretKey=itupVOK2********************  //改成你自己的

ps:密钥在七牛云中复制:点个人头像-密钥管理

5、去application.yml文件配置文件最大值

# 上传文件总的最大值
spring.servlet.multipart.max-request-size=20MB
# 单个文件的最大值
spring.servlet.multipart.max-file-size=5MB5

6、Controller层代码

package com.mszlu.blog.controller;import com.mszlu.blog.util.QiniuUtils;
import com.mszlu.blog.vo.Result;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.util.UUID;@RestController
@RequestMapping("upload")
public class UploadController {@Autowiredprivate QiniuUtils qiniuUtils;@PostMappingpublic Result upload(@RequestParam("image") MultipartFile file){String originalFilename = file.getOriginalFilename();//唯一的文件名称 使用UUIDString fileName =  UUID.randomUUID().toString()+"." + StringUtils.substringAfterLast(originalFilename,".");//上传文件 长传到哪呢? 七牛云boolean upload = qiniuUtils.upload(file, fileName);if(upload){return Result.success(QiniuUtils.url  + fileName);}return Result.fail(2001,"上传失败");}}

7、测试

七牛云接收图片成功

七牛云上传图片,只需十分钟搞定相关推荐

  1. 看后至少多活十年--只需十分钟

    看后至少多活十年--只需十分钟 看后至少多活十年--只需十分钟 -北大齐教授健康讲座笔录- 看后至少多活十年!!!~~~~不要死于无知~~~~不但要保养好自己,回家也要告诉父母这么做~~~~这是好东西 ...

  2. JeecgBoot 单体升级微服务快速方案(十分钟搞定)

    JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ...

  3. java 分组报表_【Java】分组报表怎么做,积木报表十分钟搞定!

    首页 专栏 java 文章详情 0 分组报表怎么做,积木报表十分钟搞定! scott发布于 今天 12:24 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的 ...

  4. 在线qmc0转换mp3工具_如何将M4A格式的音频转换为MP3格式?只需一步搞定

    随着网络技术的发达,会有很多人喜欢在网上下载东西,特别是很喜欢在网上下载音乐,但是下载音乐之后发现是M4A格式?这样用起来很不方便,都喜欢MP3格式的,那么如何将M4A格式的音频转换为MP3格式?今天 ...

  5. 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”

    平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...

  6. 如何将M4A格式的音频转换为MP3格式?只需一步搞定

    随着网络技术的发达,会有很多人喜欢在网上下载东西,特别是很喜欢在网上下载音乐,但是下载音乐之后发现是M4A格式?这样用起来很不方便,都喜欢MP3格式的,那么如何将M4A格式的音频转换为MP3格式?今天 ...

  7. 全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析

    全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析 废话先说一点,算了.直接进入正题吧. 用例子说话: JSON数据: string json: " {" ...

  8. JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载

    最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ...

  9. java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),

    JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...

最新文章

  1. 第一天学习Android的一些笔记
  2. C# 准备开始学习 并行程序开发
  3. C++ dynamic_cast操作符
  4. libc-glibc
  5. 20万用户同时访问一个热点Key,如何优化缓存架构?
  6. 服务端监控要怎么做?
  7. Nginx+Php-fpm+MySQL+Redis源码编译安装指南
  8. 简述isodata算法的原理_算法常见面试题汇总(一):概率论与数理统计部分
  9. 如何在C++中嵌入JAVA程序
  10. 分享我们承建的三篇NAR的数据库
  11. ise verilog多模块编译_如何使用ISE高效开发Verilog项目(新手)
  12. bluetooth记录
  13. 鸿蒙硬件HI3861-连接WIFI
  14. IQueryable和IEnumerable,IList的区别
  15. 类似clover的软件_Clover 我的电脑里的书签栏
  16. Linux中vdbench的安装与使用
  17. 驱动外挂的原理及检测手段(自瞄篇)
  18. 梯度消失和梯度爆炸原因,表现,解决方案
  19. GDB X命令详解
  20. java 浮点型_java 基础 浮点类型

热门文章

  1. Excel表格常用快捷键大全之1-10个
  2. 不同网络隔离架构下 数据摆渡如何实现?
  3. 两棵el-tree的节点跨树拖拽实现
  4. 在Mac中快速查看文件夹的大小
  5. MBA案例分析(行销与营销之行销一)
  6. jquery 给金额加逗号分隔并保留小数
  7. joplin_介绍Joplin,这是Evernote的开源替代方案
  8. 计算机毕业设计Python+Django基于python摄影作品相册分享系统(源码+系统+mysql数据库+Lw文档)
  9. 刘强东晒新京东总部;人类首次发现引力波;iPhone X日产量扩至约25万台丨价值早报
  10. vue 适配Markdown格式