springboot整合七牛云

1.当我在做一个简单的后台管理系统时候· 需要制作一个接口来上传自己的图片
为此需要配合springboot整合 七牛云
1.上传工具类 (${qiniu.accessKey}是springboot参数引用 需要在propertis 和yaml中配置) (官方文档中都有需求可以根据实际改)

/*** 图片上传配置类* */
@Component
public class ImageUtils {@Value("${qiniu.accessKey}")private  String accessKey;      //公钥@Value("${qiniu.secretKey}")private  String accessSecretKey;   //私钥@Value("${qiniu.bucketName}")private  String bucket;   // 存储空间@Value("${qiniu.imageUrl}")//# 域名/路径private String url;/*** 处理多文件* @param multipartFiles* @return*/public Map<String, List<String>> uploadImages(MultipartFile[] multipartFiles){Map<String, List<String>> map = new HashMap<>();List<String> imageUrls = new ArrayList<>();for(MultipartFile file : multipartFiles){imageUrls.add(uploadImageQiniu(file));}map.put("imageUrl",imageUrls);return map;}/*** 上传图片到七牛云* @param multipartFile* @return*/private String uploadImageQiniu(MultipartFile multipartFile){try {//1、获取文件上传的流byte[] fileBytes = multipartFile.getBytes();//2、创建日期目录分隔SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");String datePath = dateFormat.format(new Date());//3、获取文件名String originalFilename = multipartFile.getOriginalFilename();String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));String filename = datePath+"/"+ UUID.randomUUID().toString().replace("-", "")+ suffix;//4.构造一个带指定 Region 对象的配置类//Region.南(根据自己的对象空间的地址选Configuration cfg = new Configuration(Region.huanan());//后来换了稳定的新加坡的空间并且绑定了个人域名没有做https的配置这时候要配置这个选项/**域名不支持https访问会报错ssl验证error*cfh.useHttpsDomains=false 关闭实列即可 默认是开启的*/UploadManager uploadManager = new UploadManager(cfg);//5.获取七牛云提供的 tokenAuth auth = Auth.create(accessKey, accessSecretKey);String upToken = auth.uploadToken(bucket);uploadManager.put(fileBytes,filename,upToken);return url+filename;} catch (IOException e) {e.printStackTrace();}return null;}
}

2.控制层创建接口

package com.example.yuenandemo1.M1.Controller;import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.example.yuenandemo1.M1.Util.ImageUtils;
import com.example.yuenandemo1.M1.common.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import java.util.List;
import java.util.Map;
@CrossOrigin
@RestController
@RequestMapping("/api")
public class ImageController {private String msg;@Autowiredprivate ImageUtils imageUtils;
@CrossOrigin@PostMapping("/image/upload")public String uploadImage(@RequestParam(value = "file",required = false) MultipartFile[] multipartFile){System.out.println("开始上传");if(ObjectUtils.isEmpty(multipartFile)){return msg="上传成功";}Map<String, List<String>> uploadImagesUrl = imageUtils.uploadImages(multipartFile);return msg="上传成功";}}

3.前后端分离 前端(elemnt ui 有很多)提交页面 action提交接口地址

<template><div><el-uploadclass="upload-demo"action="http://localhost:8070/api/image/upload":on-preview="handlePreview":on-remove="handleRemove"on-success=""list-type="picture"><el-button  type="primary">点击上传</el-button><div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div></el-upload></div>
</template>
<script>
export default {data() {return {};},methods: {handleRemove(file, fileList) {console.log(file, fileList);},handlePreview(file) {console.log(file);}}
}
</script><style scoped></style>

4.个人配置文件
freemarker:
suffix: .html
cache: false
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MB

#七牛云配置

qiniu:

公钥

accessKey: ########################

私钥

secretKey: ########################

存储空间名

bucketName: ########################

域名/路径

path: ########################
#这俩个是同样的
imageUrl ########################

空间里存储的文件名 不需要可以删除

documentName:

Springboot整合七牛云相关推荐

  1. SpringBoot 整合七牛云上传图片

    在个人的一个项目中有一些需求需要用到图片文件上传,那么相比于阿里云我选择了七牛云,主要还是想白嫖,哈哈. 七牛云每个月有一定的免费额度,对于目前我的项目来说还是足够用的 阿里云OSS个人理解是上传不收 ...

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

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

  3. Springboot集成七牛云,实现图片上传功能

    七牛云的使用 1.进入官网,注册一个账号 2.找到对象存储 3.新建存储空间 4.管理存储空间 5.到此基本操作就完成了,接下来我们要在项目中使用 方式一:官方的帮助文档,很详细: 步骤一:找到开发者 ...

  4. java整合七牛云上传文件

    七牛云存储 七牛云(隶属于上海七牛信息技术有限公司)是国内领先的以视觉智能和数据智能为核心的企业级云计算服务商,同时也是国内知名智能视频云服务商,累计为 70 多万家企业提供服务,覆盖了国内80%网民 ...

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

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

  6. 苹果cmsv10整合七牛云播放器插件

    简介: 后台播放器管理直接添加编码为qiniuplayer的播放器,然后解压缩文件到网站/static/下覆盖. 网盘下载地址: http://kekewl.org/n45NcC6qZs40 图片:

  7. SpringBoot上传文件到 后端服务器 或 云服务器(七牛云、阿里云、腾讯云等等都是一样的操作步骤)

    文章目录 一.新建SpringBoot项目 1.pom.xml 2.application.yml 3.配置Swagger3 4.统一返回类Result 5.统一异常响应ErrorCode 二.上传文 ...

  8. Spring Boot——集成七牛云OSS对象存储SDK解决方案

    基本概念 七牛云OSS对象存储(Kodo):七牛云海量存储系统(Kodo)是自主研发的非结构化数据存储管理平台,支持中心和边缘存储. 平台经过多年大规模用户验证已跻身先进技术行列,并广泛应用于海量数据 ...

  9. 使用七牛云进行存储图片并返回URL

    文章目录 springboot中将图片存储到七牛云上 文章目录 文章目录 一.导入七牛云依赖包 二.在utils中添加两个工具类 1.QiniuUtils类 2.PictureUtil类 三.一个前端 ...

最新文章

  1. flutter学习(排雷)一
  2. matlab手写遗传算法解决一元函数最值问题(实例)
  3. mysql 乐观锁 脏读_mysql 丢失更新1和2、脏读、不可重复读和幻读 事务隔离级别 悲观锁 乐观锁...
  4. CRM Excel导出技术实现的调试截图
  5. Daily scrum 10.15
  6. 使用jquery的blockui插件显示弹出层
  7. go的timer定时器实现
  8. python注入点查找_sqlmap常用注入点检测爆破命令
  9. STM32之RCC配置
  10. SQL查询表中的有那些索引
  11. field list什么意思_Redis:我这21个灵魂拷问你拿什么挡?
  12. lintcode-medium-Longest Common Substring
  13. qfileinfolist 取中间_公司起名:网络公司名字起名寓意如何取寓意成功的网络公司名字...
  14. RHEL 7 新特性
  15. 货币金融学学习笔记(第4篇中央银行与货币操作政策)
  16. 数字证书和SSL的学习
  17. Linux常用命令英文全称以及中文解释
  18. 让收费网站去死吧,用google 突破 下载
  19. DNS解析过程及工作原理
  20. c语言程序24转换12时间,C语言将24小时制转换为12小时制的方法

热门文章

  1. 如何用c语言编写stm32的程序吗,STM32入门C语言详解
  2. 简洁大气公司介绍PPT模板
  3. 【毕业设计】基于RFID的门禁系统 - 单片机 物联网 嵌入式 stm32
  4. 安徽省计算机科学与技术专业大学排名,计算机科学与技术专业大学排名
  5. 《赌场式交易策略》读书笔记
  6. Bugku聪明的小羊
  7. 我是如何通过fuzz apache httpd服务发现CVE-2017-7668
  8. 配置腾讯云cdn教程
  9. Lattice CrossLinkNx LIFCL-40应用连载1:新建一个工程
  10. tar zxvf 简单了解