一、阿里云配置

获取

accessKeyId
accessSecret

创建桶

bucketName

二、demo

1、oss.config

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import lombok.Data; @Data
@Configuration
public class OssConfig {
@Value("${aliyun.oss.endpoint}")
private String endpoint; @Value("${aliyun.oss.accessKeyId}")
private String accessKeyId; @Value("${aliyun.oss.accessSecret}")
private String accessSecret; @Value("${aliyun.oss.bucketName}")
private String bucketName;
}

2、依赖

<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>

3、application.properties

#服务端
server.port=8002
#服务器
spring.application.name=service-oss
aliyun.oss.endpoint=oss-cn-hangzhou.aliyuncs.com  //管控台的endpoint地址
aliyun.oss.accessKeyId=xxxxxxxx            //从阿里云服务器配置
aliyun.oss.accessSecret=xxxxxxxxxx          //从阿里云服务器配置
aliyun.oss.bucketName=dev-fileupload         //服务器配置的文件夹名称

# 上传文件大小
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=100MB

3、测试demo

import com.congge.service.OssService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; @RestController
public class OssController {
@Autowired
private OssService ossService; @PostMapping
public String uploadOssFile(MultipartFile file) throws Exception{
String url = ossService.uploadFileAvatar(file);
return url;
}
}
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClient;
import com.congge.configs.ConstantPropertiesUtils;
import com.congge.service.OssService;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;
import java.util.UUID; @Service
public class OssServiceImpl implements OssService {
@Override
public String uploadFileAvatar(MultipartFile file) throws Exception{//创建实例
OSS ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
//获取上传文件输入流
InputStream inputStream = file.getInputStream();
//获取文件名称
String fileName = file.getOriginalFilename();
//保证文件名唯一,去掉uuid中的'-'
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
fileName = uuid + fileName;
//把文件按日期分类,构建日期路径
String datePath = new Date().toString("yyyy/MM/dd");
//拼接
fileName = datePath + "/" + fileName;
//上传到阿里云
ossClient.putObject(bucketName, fileName, inputStream);
//把上传后把文件url返回
url = "https://" + bucketName + "." + endpoint + "/" + fileName;
//关闭OSSClient
ossClient.shutdown();
return url;
}
}
@SpringBootApplication
public class Test {
public static void main(String[] args) {
SpringApplication.run(Test.class,args);
}
}

springboot 整合 oss的更多相关文章

  1. springboot整合OSS实现文件上传

    OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.OSS可用于图片.音视频.日志等海量文件的存储.各种终端 ...

  2. springboot 整合OSS

    OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量.安全.低成本.高可靠的云存储服务.OSS可用于图片.音视频.日志等海量文件的存储.各种终端 ...

  3. springboot整合oss

    原文链接:https://blog.csdn.net/weixin_42370891/article/details/99102508 登录阿里云,进入到控制台 创建Bucket 导入如下依赖 < ...

  4. SpringBoot整合阿里云OSS文件上传、下载、查看、删除

    1. 开发前准备 1.1 前置知识 java基础以及SpringBoot简单基础知识即可. 1.2 环境参数 开发工具:IDEA 基础环境:Maven+JDK8 所用技术:SpringBoot.lom ...

  5. SpringBoot整合Elasticsearch详细步骤以及代码示例(附源码)

    准备工作 环境准备 JAVA版本 java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121 ...

  6. 22.Java面试学习平台-整合OSS对象存储

    SpringCloud实战项目全套学习教程连载中 PassJava 学习教程 简介 PassJava-Learning项目是PassJava(佳必过)项目的学习教程.对架构.业务.技术要点进行讲解. ...

  7. spring-boot整合mybatis(1)

    sprig-boot是一个微服务架构,加快了spring工程快速开发,以及简便了配置.接下来开始spring-boot与mybatis的整合. 1.创建一个maven工程命名为spring-boot- ...

  8. SpringBoot整合Mybatis之项目结构、数据源

    已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...

  9. springboot整合mq接收消息队列

    继上篇springboot整合mq发送消息队列 本篇主要在上篇基础上进行activiemq消息队列的接收springboot整合mq发送消息队列 第一步:新建marven项目,配置pom文件 < ...

  10. springboot整合mybaits注解开发

    springboot整合mybaits注解开发时,返回json或者map对象时,如果一个字段的value为空,需要更改springboot的配置文件 mybatis: configuration: c ...

随机推荐

  1. mysql 的 json 类型

    MySQL的 json 数据类型 MySQL5.7 后的版本,添加了对于 json 类型的支持.此前,json 类型的数据,只能在代码层面做 json.loads() 和 json.dumps() 操 ...

  2. 基2和基4FFT

    1.1 FFT的必要索引变换 基2算法需要位顺序的反转位逆序,而基4算法需要首先构成一个2位的数字,再反转这些数字,称为数字逆序. 1.1 位逆序和数字逆序 1.2 FFT的复数乘法转实数乘法 \[X ...

  3. Oracle重建索引

    创建表 create table student( student_id number, name varchar2(240) ) tablespace school_data; 创建索引 creat ...

  4. EBS 常用sql

    1)查看请求挂在哪个状态下 SELECT fcpv.concurrent_program_name FROM fnd_request_groups frg, --请求组 fnd_request_gro ...

  5. Rust智能指针

    Rust智能指针 https://course.rs/advance/smart-pointer/intro.html Box 堆对象分配 Box指针拥有内存对象的独占使用权 (一)使用场景 1. 使 ...

  6. jmeter使用Java开发自定义函数

    一.前置条件(对jmeter进行二次开发) 本篇通过抽象类AbstractFunction来实现: 1.JMeter提供了接口给用户进行二次开发,其中接口可通过引入 ApacheJMeter_comp ...

  7. jdk 13 添加 jre

    问题: 安装 jdk 13 版本后发现没有 jre . 解决方法: 1.进入 jdk 安装目录(如:D:\Program\Java\jdk-13.0.2\) 2.在 jdk 安装目录打开命令行,输入以 ...

  8. 百题计划-3 codeforces 657div2 C. Choosing flowers 贪心+枚举+二分

    https://codeforces.com/contest/1379/problem/C 题意: 给m种花(a,b),从中取出n朵,每种花可以取0和无限朵,如果取出第i朵花的个数为c>0,则贡 ...

  9. 央行DR007在哪里查看

    1.中国外汇交易中心,点击官网进入 https://www.chinamoney.com.cn/chinese/ 2.点击数据选项,接着选择货币市场行情 3.点击质押式回购

  10. js原型,继承

    javascript是为了成为轻量级的语言而开发的.开发者并没有选择像其他面向对象的语言一样,定义类(class),而是使用了protopype实现继承. 每一个函数在创建时,都会创建它的Protot ...