七牛云上传图片,只需十分钟搞定
1、去七牛云注册,建好自有空间
![](/assets/blank.gif)
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:密钥在七牛云中复制:点个人头像-密钥管理
![](/assets/blank.gif)
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、测试
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
七牛云接收图片成功
七牛云上传图片,只需十分钟搞定相关推荐
- 看后至少多活十年--只需十分钟
看后至少多活十年--只需十分钟 看后至少多活十年--只需十分钟 -北大齐教授健康讲座笔录- 看后至少多活十年!!!~~~~不要死于无知~~~~不但要保养好自己,回家也要告诉父母这么做~~~~这是好东西 ...
- JeecgBoot 单体升级微服务快速方案(十分钟搞定)
JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ...
- java 分组报表_【Java】分组报表怎么做,积木报表十分钟搞定!
首页 专栏 java 文章详情 0 分组报表怎么做,积木报表十分钟搞定! scott发布于 今天 12:24 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的 ...
- 在线qmc0转换mp3工具_如何将M4A格式的音频转换为MP3格式?只需一步搞定
随着网络技术的发达,会有很多人喜欢在网上下载东西,特别是很喜欢在网上下载音乐,但是下载音乐之后发现是M4A格式?这样用起来很不方便,都喜欢MP3格式的,那么如何将M4A格式的音频转换为MP3格式?今天 ...
- 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”
平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...
- 如何将M4A格式的音频转换为MP3格式?只需一步搞定
随着网络技术的发达,会有很多人喜欢在网上下载东西,特别是很喜欢在网上下载音乐,但是下载音乐之后发现是M4A格式?这样用起来很不方便,都喜欢MP3格式的,那么如何将M4A格式的音频转换为MP3格式?今天 ...
- 全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析
全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析 废话先说一点,算了.直接进入正题吧. 用例子说话: JSON数据: string json: " {" ...
- JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载
最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ...
- java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),
JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...
最新文章
- 第一天学习Android的一些笔记
- C# 准备开始学习 并行程序开发
- C++ dynamic_cast操作符
- libc-glibc
- 20万用户同时访问一个热点Key,如何优化缓存架构?
- 服务端监控要怎么做?
- Nginx+Php-fpm+MySQL+Redis源码编译安装指南
- 简述isodata算法的原理_算法常见面试题汇总(一):概率论与数理统计部分
- 如何在C++中嵌入JAVA程序
- 分享我们承建的三篇NAR的数据库
- ise verilog多模块编译_如何使用ISE高效开发Verilog项目(新手)
- bluetooth记录
- 鸿蒙硬件HI3861-连接WIFI
- IQueryable和IEnumerable,IList的区别
- 类似clover的软件_Clover 我的电脑里的书签栏
- Linux中vdbench的安装与使用
- 驱动外挂的原理及检测手段(自瞄篇)
- 梯度消失和梯度爆炸原因,表现,解决方案
- GDB X命令详解
- java 浮点型_java 基础 浮点类型
热门文章
- Excel表格常用快捷键大全之1-10个
- 不同网络隔离架构下 数据摆渡如何实现?
- 两棵el-tree的节点跨树拖拽实现
- 在Mac中快速查看文件夹的大小
- MBA案例分析(行销与营销之行销一)
- jquery 给金额加逗号分隔并保留小数
- joplin_介绍Joplin,这是Evernote的开源替代方案
- 计算机毕业设计Python+Django基于python摄影作品相册分享系统(源码+系统+mysql数据库+Lw文档)
- 刘强东晒新京东总部;人类首次发现引力波;iPhone X日产量扩至约25万台丨价值早报
- vue 适配Markdown格式