一、阿里云配置

获取

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 无法使用注释 带注释执行报错 Dbeaver

    一.场景 执行时,前面带一段注释,在dbeaver执行报语法错误 二.解决办法 在注释后面插入一个空格,识别注释后变成灰色,执行成功

  2. URLDecoder.decode() 特殊字符的处理

    在网络get请求中,如果存在特殊字符 比如  "+,/,%,&,= " ,如果没有被转义就直接使用 发现 + 号 仍然是 + 号,初看上去是没什么问题  这样在我们在后台接 ...

  3. (0319) SV 中的 iff 事件控制

    https://blog.csdn.net/yinyeyy/article/details/111086864

  4. Postman中添加多个Cookie

    在接口测试中,很多接口都是需要登录后才能获取到数据的.如何标识登录状态呢?有些app用token,有些app用Cookie.通过Fiddler抓包看到,我涯使用的是Cookie的方式,而且是有多个Co ...

  5. Install Argo Workflows

    Install Argo Workflows Release v3.4.3 · argoproj/argo-workflows (github.com) CLI # Download the bina ...

  6. react hooks组件父组件调用子组件方法

    函数组件父组件调用子组件方法需要使用 useImperativeHandle 和 forwardRef 两个方法 1.子组件 2.父组件 注意:一定要使用ref来接从子组件传过来的实例值,用其他的在函 ...

  7. 打开IE浏览器被强制跳转至edge

    打开edge浏览器,右上角更多,设置,默认浏览器,设置"从不" 控制面板,Internet选项,高级,浏览,取消勾选"启用第三方浏览器扩展"

  8. k8s_使用k8s部署博客系统svc、secret、configmap(三)

    service service是抽象Pod对外提供服务的地址,将其固化的作用:屏蔽因pod的创删以及扩缩容带来ip变化.service通过自身定义文件的selector的标签配置匹配到需要提供服务的对 ...

  9. mysql在windows下安装

    参考博客:https://blog.csdn.net/weixin_43423484/article/details/124408565

  10. UltiSnips安装及设置

    2022-10-05 10:56:50 星期三 安装了UltiSnips插件,然后开始学习 第一个命令 UltiSnipsEdit 不好使,创建了~/.vim/UltiSnips 还是 can not ...