Springboot集成七牛云,实现图片上传功能
七牛云的使用
1、进入官网,注册一个账号
2、找到对象存储
3、新建存储空间
4、管理存储空间
5、到此基本操作就完成了,接下来我们要在项目中使用
- 方式一:官方的帮助文档,很详细:
步骤一:找到开发者中心
步骤二:选择对象存储
步骤三:找到Java的SDK
可以看到我们的官网非常详细!
- 方式二:这里给大家封装好了一个工具类,maven项目可以直接用
官网是静态工具类,这里是注入到IOC容器当中!
1、导入pom依赖
<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>[7.7.0, 7.7.99]</version></dependency>
2、工具类QiniuUtils
@Component
public class QiniuUtils {public static final String url = "http://测试域名/"; //七牛云图片服务器域名(有效1个月)@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.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+vue+element+七牛云+实现图片上传功能
注册七牛云 链接地址: https://www.qiniu.com/products/kodo,免费有10G空间与免费一个月的域名地址注册后,开启对象存储,创建空间选择地区, 上传方式: 1:前端现将 ...
- SpringBoot集成七牛云-实现文件上传、下载、解决报错、详细案例
用自己电脑做文件存储,我想没谁愿意了吧,来来和我一起白嫖吧,伙伴们!!!
- 七牛云 vue 图片上传简单解说,js 上传文件图片
七牛云 vue 图片上传简单解说,js 上传文件图片 一.七牛云简介 首次使用七牛云存储进行项目的图片存储,整了一上午才整明白,这些官方的教程把明白人也给说糊涂了,文档很不规范. 七牛云有免费的使用额 ...
- SpringMvc+饿了么UI组件+七牛云做图片上传
前言 我之前也有用过SpringBoot+OSS做过云存储,可以去看我的文章https://blog.csdn.net/Curtisjia/article/details/109339980,当时我做 ...
- SpringBoot(24) 整合七牛云实现文件上传
一.前言 本文将基于springboot2.1.8.RELEASE整合七牛云实现文件上传 本文参考 https://www.keppel.fun/articles/2019/02/27/1551262 ...
- 微服务电商实战(十一)搭建vue项目对接注册登陆接口,解决跨域问题,使用七牛云实现头像上传
一.简介 node.js版本:v12.16.3 node.js下载 vue官网教程 iview介绍 上传头像接口,图片存储在七牛云中,注册并实名认证之后可以免费使用 以下会描述使用vue搭建项目框架的 ...
- ckeditor java 上传_java使用CKEditor实现图片上传功能
java如何使用ckeditor实现图片上传功能,具体内容如下 1.根据实际需要下载指定的ckeditor 2.删除文件ckeditor/plugins/image/dialogs/image.js预 ...
- 关于微信内置浏览器,打开图片上传功能,调用的问题
关于微信内置浏览器,打开图片上传功能,调用的问题 前段时间,项目完结测试的时候,同事打开魅族手机测试,无意中发现一个奇葩的问题! 描述: 显示的是文件系统,列表式的,没有调用相机的功能图标,为什么呢? ...
- (转)淘淘商城系列——实现图片上传功能
http://blog.csdn.net/yerenyuan_pku/article/details/72808000 上文我们使用FastDFS-Client进行了简单的文件上传操作测试,淘淘商城项 ...
- Smiditor实现图片上传功能
Simditor 是 Tower 开源的一个基于浏览器所见即所得的文本编辑器. 相比传统的编辑器它的特点是: 功能精简,加载快速 输出格式化的标准 HTML 每一个功能都有非常优秀的使用体验 兼容的主 ...
最新文章
- 那个14岁上大学、17岁读博、24岁成教授的天才神童,如今怎样了?
- UVA - 10615 Rooks
- Qt数据库操作(三) -- 使用SQL模型类
- 【面试招聘】社招如何拿到心仪公司的offer
- mysql optimizer mrr_MySQL优化器功能开关optimizer_switch
- 自考--网络经济与企业管理--选择易考题
- github语音识别对对_语音识别尝试方向
- SpringMvc-MockMvc
- 解决请求筛选模块被配置为拒绝包含的查询字符串过长的请求
- Nginx @ Https
- 2021海口高考调研成绩查询,2021海口市地区高考成绩排名查询,海口市高考各高中成绩喜报榜单...
- INT 21H 指令说明及使用方法
- 《电机学和电机驱动入门》
- navicat激活失败
- CDN (Content Delivery Network 内容分发网络)
- 51单片机【五】LED点阵屏
- Windows端口开启关闭
- jOOQ是如何设计事务API(详细指南)
- 考研复试——数据结构
- centos7 安装 Redis(资源)
热门文章
- 通过创建动态类型 动态构建Expression Select表达式来控制Property可见性
- 乐高拉力机器人图纸_乐高MOC图纸分享:乐高MINI机器人制作教程(图文版)
- 使用阿里云dns+oss+cdn+ssl发布静态网站
- 推荐14个牛逼的代码编辑网站
- 【WiFi】beacon时槽
- 工厂方法模式(雷锋依然在人间)
- android绿豆通讯录xml,Android 数据库(SQLite)【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练)】...
- 川普哭诉“推特狂掉粉”,将用行政命令监管硅谷?
- 由高斯投影坐标反算成经纬度
- 命令行操作oracle,显示英文而不是中文