在阿里云搜索对象存储oss,开通并进入到控制台

进入到控制台后,选择bucket列表然后创建bucket,bucket就类似文件夹

然后如果没有accesskey的要先创建,在右上角头像处

接下来就该敲代码了

先添加依赖

    <!-- 阿里云oss依赖 --><dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId></dependency><!-- 日期工具栏依赖 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependency>

配置文件:oss配置见名知意,对应上述的accesskey的红框,bucket也对应开始创建的名字

# 服务端口
server.port=8205
# 服务名
spring.application.name=service-oss#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8# nacos服务地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848aliyun.oss.endpoint=oss-cn-shenzhen.aliyuncs.com
aliyun.oss.accessKeyId=LTAI4G4SV6WtST7UYH776b64
aliyun.oss.secret=X9KHNYgztNr9MI5Zp8JffQPZO4uJo5
aliyun.oss.bucket=yygh-cccwm

启动类

 //取消数据源自动配置@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)@EnableDiscoveryClient@ComponentScan(basePackages = {"com.example"})public class ServiceOssApplication {public static void main(String[] args) {SpringApplication.run(ServiceOssApplication.class, args);}}

controller

 @RestController@RequestMapping("/api/oss/file")public class FileApiController {@Autowiredprivate FileService fileService;//上传文件到阿里云oss@PostMapping("fileUpload")public Result fileUpload(MultipartFile file) {//获取上传文件String url = fileService.upload(file);return Result.ok(url);}}

service以及serviceimpl

 public interface FileService {//上传文件到阿里云ossString upload(MultipartFile file);}
@Service
public class FileServiceImpl implements FileService {//调用配置文件中oss配置的值@Value("${aliyun.oss.endpoint}")private String endpoint;@Value("${aliyun.oss.accessKeyId}")private String accessKeyId;@Value("${aliyun.oss.secret}")private String accessKeySecret ;@Value("${aliyun.oss.bucket}")private String bucketName ;@Overridepublic String upload(MultipartFile file) {try {// 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);// 上传文件流。InputStream inputStream = file.getInputStream();String fileName = file.getOriginalFilename();//生成随机唯一值,使用uuid,添加到文件名称里面,不会导致重名String uuid = UUID.randomUUID().toString().replaceAll("-","");fileName = uuid+fileName;//调用方法实现上传ossClient.putObject(bucketName, fileName, inputStream);// 关闭OSSClient。ossClient.shutdown();//上传之后文件路径// https://yygh-cccwm.oss-cn-shenzhen.aliyuncs.com/01.jpgString url = "https://"+bucketName+"."+endpoint+"/"+fileName;//返回return url;} catch (IOException e) {e.printStackTrace();return null;}}
}

下载接口也类似,可以参考阿里云的对象存储文档下载到本地文件 (aliyun.com)https://help.aliyun.com/document_detail/84824.html

后端实现上传文件接口,并使用阿里云的oss对象存储相关推荐

  1. 关于使用Karate-实现上传文件接口测试方法总结

    在API接口自动化测试过成中,经常会遇到上传文件的接口,那么在Karate框架中如何实现上传文件接口的自动化哪?今天我就将个人积累的小经验分享给大家: [如果大家对karate还不熟悉,请参考我之前的 ...

  2. Python请求上传文件接口

    Python 请求上传文件接口 def post_multipart_request():params = {"key1": "value1", "k ...

  3. nodejs + express + multiparty处理上传文件接口:踩坑及总结

    文章目录 一.简单的文件上传 模块 接口 二.multipart/form-data随着表单上传文件 前端 后端 1. multiparty 2.connect-multiparty 在平时工作和自己 ...

  4. python调用接口上传文件_python上传文件接口

    文件的参数组装: ('文件名',"open打开的文件(rb模式打开)",'文件的类型说明') 关于不同的请求参数类型,使用requests的处理: 1.文件上传(Content-T ...

  5. springboot调用python脚本_Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法...

    记录瞬间 近段时间使用Springboot实现了文件的上传服务,但是在使用python的requests进行post上传时,总是报错. 比如: 1.Current request is not a m ...

  6. Postman调用上传文件接口提示Error: read ECONNRESET

    问题现象:Postman上传文件时,接口提示Error: read ECONNRESET 解决办法:上传的文件名不能是中文,换成英文试试 问题原因:未知

  7. Fiddler小技巧-测试上传文件接口多参数并传情况

    写了多年的API了,fidder还真是方便至极相对于postman来说. 两种常用方式: 抓包:app通过代理方式,就可以在pc端看到fidder的请求了 因为会监控好多跟我们需要的没关系的HTTP请 ...

  8. 云服务器上传文件怎么这么慢,百度云上传速度慢怎么办?教你如何加快百度云上传速度...

    现在有很多朋友使用百度网盘进行资料存储,但是上传和下载的速度却总是有些问题.最近有位朋友的百度网盘下载速度很快,但是上传速度很慢的时候,不知道为什么会这样.那么,这种情况应该如何解决呢?下面就来看一下 ...

  9. 云服务器上传文件怎么这么慢,百度云上传速度太慢怎么回事_百度云网盘上传速度太慢怎么解决-win7之家...

    百度云是百度推出的一项云存储服务,给用户们提供文件的网络备份.同步和分享服务,不过最近有用户发现百度云要上传资料的时候发现速度太慢了,这是怎么回事呢,针对这个问题,小编给大家讲解一下百度云网盘上传速度 ...

最新文章

  1. 练习用基础SQL语句
  2. 与其焦虑成疾,不如静心学习
  3. 负载均衡算法-响应速度均衡
  4. 分享轮子-flutter下拉刷新上拉加载
  5. 一个学者科研的感受,推荐一下(小木虫)
  6. Cloud一分钟 | 云存储服务商​Egnyte获7500万美元E轮融资,高盛领投
  7. qc成果报告范例_质量引领创新 扬子江勇夺医药行业QC“十五连冠”
  8. sql随机抽取数据50条_厉害!苏宁通过citus打造分布式数据库抗住DB高负载
  9. python字符串编码_Python字符串编码答疑
  10. python钉钉机器人发送消息_python调用钉钉机器人发送消息
  11. Android深度探索第五章总结
  12. POJ1061 青蛙的约会(拓展欧几里德)
  13. 新概念模拟电路——初识晶体管
  14. 【退役文】Always Challenge Miracle ---- 记我的ACM生涯
  15. 小象学院python数据分析课程怎么样_小象学院Python数据分析第二期【升级版】
  16. CH模拟赛 皇后游戏
  17. html的五角星怎么打出来,五角星符号怎么打出来?
  18. win2008 磁盘碎片整理
  19. JS:页面载入完成时自动提交
  20. Linux的文件系统结构

热门文章

  1. Statistical Analysis of Network Data with R(第二版) 上机实操 5
  2. 基于机器视觉的移动消防机器人(三)--软件设计
  3. The Night Of 罪恶之夜 观后感
  4. Jumpserver入门使用手册
  5. 电商实现货到付款服务的方法
  6. 重生之我是javaの神之修炼练气功法之javase基础语法
  7. 白草畔什么时候最好玩
  8. Java【List】去重的 6种方法
  9. 传奇女强人刘晓庆打破传统,进军微电商再掀商业风暴!
  10. “沙漠之鼠”蒙哥马利