一、阿里云配置

获取

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);
}
}

最新文章

  1. Android开发:关于WebView
  2. jbpm的学习 出处http://blog.csdn.net/hxirui/article/details/1221911
  3. curl 工具的使用
  4. javascript事件大全4
  5. leetcode 109 Convert Sorted List to Binary Search Tree ----- java
  6. hdu 3579 Hello Kiki
  7. MySQL数据库加密与解密
  8. KEIL 伪指令
  9. VC++共享数据段实现进程之间共享数据
  10. 【Spring】浅谈spring推荐构造器注入
  11. 洛谷1855 榨取kkksc03
  12. rem+media+jquery布局结局方案
  13. linux以16进制查看文件
  14. CSS表单2 组件排版
  15. 基于XML搭建Dubbo项目
  16. 在Eclipse中Attach Source
  17. 多线程之线程间协作的两种方式:wait、notify、notifyAll和Condition
  18. TRIZ理论的进化法则分析(TRIZ学习笔记)
  19. MLT的学习理解
  20. java8新特性——四大内置核心函数式接口

热门文章

  1. 源码编译mariadb
  2. C# load and unload dll
  3. c语言动态库与静态库
  4. docker中搭建Ubuntu:16.04+python3.6+django环境
  5. 监控可视化nagios xi
  6. OpenLayer——模拟运动轨迹
  7. LM393双电压比较器集成电路引脚图及功能_工作原理及应用电路
  8. lua-table类的继承
  9. PyTables 教程(三) 执行撤消/重做功能,使用枚举类型,表中的嵌套结构
  10. 阿里云部署OSS对接TP项目