当前位置: 首页 > news >正文

OSS阿里云

登录阿里云

在这里插入图片描述

打开对象存储OSS

在这里插入图片描述

创建Bucket,设置名字

在这里插入图片描述

进入Bucket,新建目录

在这里插入图片描述

设置AccessKey—>点击头像—>AccessKey管理

RAM授权

在这里插入图片描述

新建保存accessKey和secret

在这里插入图片描述

OSS上传工具类

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

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSBuilder;
import com.aliyun.oss.OSSClientBuilder;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.net.URL;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;/*** OSS文件上传工具类*/
public class OSSUtil {// Endpoint以杭州为例,其它Region请按实际情况填写。private static String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。private static String accessKeyId = "xxx";private static String accessKeySecret = "xx";private static String bucketName = "xx";//目录名public static String dir = "images";/*** 文件上传* @param inputStream* @param fileName*/public static void upload(InputStream inputStream, String fileName){OSS oss = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);oss.putObject(bucketName,dir +"/"+ fileName,inputStream);oss.shutdown();}/*** 获得文件URL* @param fileName* @return*/public static String getURL(String fileName){OSS oss = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);//设置过期时间LocalDateTime time = LocalDateTime.now().plusDays(100);Date expiration = Date.from(time.atZone( ZoneId.systemDefault()).toInstant());URL url = oss.generatePresignedUrl(bucketName, dir +"/"+ fileName, expiration);oss.shutdown();return url.toString();}public static void main(String[] args) throws FileNotFoundException {OSSUtil.upload(new FileInputStream("D:\\images\\3.jpg"),"3.jpg");System.out.println(OSSUtil.getURL("3.jpg"));}
}

控制器

@Api("上传接口")
@RestController
public class UploadController {@ApiOperation("上传文件")@PostMapping("/upload")public ResponseResult<String> upload(MultipartFile file) throws IOException {//上传OSSOSSUtil.upload(file.getInputStream(),file.getOriginalFilename());//获得urlString url = OSSUtil.getURL(file.getOriginalFilename());return ResponseResult.ok(url);}
}
http://www.lqws.cn/news/507979.html

相关文章:

  • 实现OFD转换PDF文件的实用方法
  • Joblib库多进程/线程使用(一):使用generator参数实现边响应边使用
  • RISC-V三级流水线项目:总体概述和取指模块
  • 借助antd-design-x-vue实现接入通义千问大语言模型的对话功能(二) 新增思考内容展示
  • 使用 PyFluent 自动化 CFD
  • Reactor框架介绍,和使用示例
  • 内存泄漏和内存溢出的区别
  • ubuntu22.04修改IP地址
  • Camera Api 2 和 OPEN GL ES 使用(显示滤镜效果)
  • 【网络安全】从IP头部看网络通信:IPv4、IPv6与抓包工具 Wireshark 实战
  • 基于单片机的语音控制设计(论文)
  • 618风控战升级,瑞数信息“动态安全+AI”利剑出鞘
  • 09-StarRocks安全配置FAQ
  • 03-StarRocks查询优化FAQ
  • 服务器安装指南
  • PYTHON从入门到实践2-环境配置与字符串打印用法
  • 黑马Day01-03集开始
  • 轻量化实物建模革命:WebGL如何实现复杂模型的高效加载与交互
  • 增刊第2章:模型API封装与安全
  • 从虚拟机角度解释python3相对导入问题(下)
  • CasaOS中Docker部署SyncThing结合Cpolar实现公网文件同步方案
  • MemcacheRedis--缓存服务器理论
  • 解锁阿里云AnalyticDB:数据仓库的革新利器
  • 较大项目 git(gitee, github) 拉取失败解决方法
  • 想考华为HCIA-AI,应该怎么入门?
  • Python 数据分析与可视化 Day 6 - 可视化整合报告实战
  • 30天入门Python(基础篇)——第20天:输出格式美化详解
  • python果蔬种植销售一体化服务系统
  • Dify×奇墨科技:开源+本土化,破解企业AI落地难题
  • RabbitMQ + JMeter 深度集成指南:中间件性能优化全流程解析!