七牛云的使用

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集成七牛云,实现图片上传功能相关推荐

  1. springboot+vue+element+七牛云+实现图片上传功能

    注册七牛云 链接地址: https://www.qiniu.com/products/kodo,免费有10G空间与免费一个月的域名地址注册后,开启对象存储,创建空间选择地区, 上传方式: 1:前端现将 ...

  2. SpringBoot集成七牛云-实现文件上传、下载、解决报错、详细案例

    用自己电脑做文件存储,我想没谁愿意了吧,来来和我一起白嫖吧,伙伴们!!!

  3. 七牛云 vue 图片上传简单解说,js 上传文件图片

    七牛云 vue 图片上传简单解说,js 上传文件图片 一.七牛云简介 首次使用七牛云存储进行项目的图片存储,整了一上午才整明白,这些官方的教程把明白人也给说糊涂了,文档很不规范. 七牛云有免费的使用额 ...

  4. SpringMvc+饿了么UI组件+七牛云做图片上传

    前言 我之前也有用过SpringBoot+OSS做过云存储,可以去看我的文章https://blog.csdn.net/Curtisjia/article/details/109339980,当时我做 ...

  5. SpringBoot(24) 整合七牛云实现文件上传

    一.前言 本文将基于springboot2.1.8.RELEASE整合七牛云实现文件上传 本文参考 https://www.keppel.fun/articles/2019/02/27/1551262 ...

  6. 微服务电商实战(十一)搭建vue项目对接注册登陆接口,解决跨域问题,使用七牛云实现头像上传

    一.简介 node.js版本:v12.16.3 node.js下载 vue官网教程 iview介绍 上传头像接口,图片存储在七牛云中,注册并实名认证之后可以免费使用 以下会描述使用vue搭建项目框架的 ...

  7. ckeditor java 上传_java使用CKEditor实现图片上传功能

    java如何使用ckeditor实现图片上传功能,具体内容如下 1.根据实际需要下载指定的ckeditor 2.删除文件ckeditor/plugins/image/dialogs/image.js预 ...

  8. 关于微信内置浏览器,打开图片上传功能,调用的问题

    关于微信内置浏览器,打开图片上传功能,调用的问题 前段时间,项目完结测试的时候,同事打开魅族手机测试,无意中发现一个奇葩的问题! 描述: 显示的是文件系统,列表式的,没有调用相机的功能图标,为什么呢? ...

  9. (转)淘淘商城系列——实现图片上传功能

    http://blog.csdn.net/yerenyuan_pku/article/details/72808000 上文我们使用FastDFS-Client进行了简单的文件上传操作测试,淘淘商城项 ...

  10. Smiditor实现图片上传功能

    Simditor 是 Tower 开源的一个基于浏览器所见即所得的文本编辑器. 相比传统的编辑器它的特点是: 功能精简,加载快速 输出格式化的标准 HTML 每一个功能都有非常优秀的使用体验 兼容的主 ...

最新文章

  1. 那个14岁上大学、17岁读博、24岁成教授的天才神童,如今怎样了?
  2. UVA - 10615 Rooks
  3. Qt数据库操作(三) -- 使用SQL模型类
  4. 【面试招聘】社招如何拿到心仪公司的offer
  5. mysql optimizer mrr_MySQL优化器功能开关optimizer_switch
  6. 自考--网络经济与企业管理--选择易考题
  7. github语音识别对对_语音识别尝试方向
  8. SpringMvc-MockMvc
  9. 解决请求筛选模块被配置为拒绝包含的查询字符串过长的请求
  10. Nginx @ Https
  11. 2021海口高考调研成绩查询,2021海口市地区高考成绩排名查询,海口市高考各高中成绩喜报榜单...
  12. INT 21H 指令说明及使用方法
  13. 《电机学和电机驱动入门》
  14. navicat激活失败
  15. CDN (Content Delivery Network 内容分发网络)
  16. 51单片机【五】LED点阵屏
  17. Windows端口开启关闭
  18. jOOQ是如何设计事务API(详细指南)
  19. 考研复试——数据结构
  20. centos7 安装 Redis(资源)

热门文章

  1. 通过创建动态类型 动态构建Expression Select表达式来控制Property可见性
  2. 乐高拉力机器人图纸_乐高MOC图纸分享:乐高MINI机器人制作教程(图文版)
  3. 使用阿里云dns+oss+cdn+ssl发布静态网站
  4. 推荐14个牛逼的代码编辑网站
  5. 【WiFi】beacon时槽
  6. 工厂方法模式(雷锋依然在人间)
  7. android绿豆通讯录xml,Android 数据库(SQLite)【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练)】...
  8. 川普哭诉“推特狂掉粉”,将用行政命令监管硅谷?
  9. 由高斯投影坐标反算成经纬度
  10. 命令行操作oracle,显示英文而不是中文