阿里云对象存储OSS

本文详细介绍了如何使用阿里云对象存储OSS,包括添加依赖、配置属性、创建实体类、实现Service以及设计访问接口,为开发者提供完整的操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖

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

属性配置

spring:
  cloud:
      alibaba:
        access-key: xxxxxxxxxx
        secret-key: xxxxxxxxxx
        oss:
          endpoint: oss-cn-beijing.aliyuncs.com
          bucket: liuym-xxx

属性对应实体类

@Data
@Component
public class OssProperties {
   
   
    @Value("${spring.cloud.alibaba.access-key}")
    private String accessKey;

    @Value("${spring.cloud.alibaba.secret-key}")
    private String secretKey;

    @Value("${spring.cloud.alibaba.oss.endpoint}")
    private String endpoint;

    @Value("${spring.cloud.alibaba.oss.bucket}")
    private String bucket;
}

Service

public interface FileService {
   
   
    /**
     * 阿里云OSS文件上传
     *
     * @param in 输入流
     * @param module 模块名
     * @param originalName 文件原始名字
     * @return 访问路径
     */
    String upload(InputStream in, String module, String originalName);

    /**
     * 阿里云OSS文件删除
     *
     * @param url 文件
     */
    void removeFile(String url);

    /**
     * 阿里云OSS文件批量删除
     *
     * @param urls 文件集合
     */
    void removeFiles(List<String> urls);
}

实现类

@Service
public class FileServiceImpl implements FileService {
   
   
    @Autowired
    private 
### 阿里云 OSS 对象存储使用指南 #### 选择合适的存储类型 阿里云对象存储 OSS 提供了多种存储类型,用户可以根据实际需求选择最合适的选项来优化成本和性能。这些存储类型包括标准型、低频访问型以及归档型等,每种类型都针对不同的数据访问模式进行了优化[^3]。 #### 创建Bucket并配置权限 为了开始使用OSS服务,需先登录到阿里云控制台创建一个新的bucket容器用于存放文件。在创建过程中可以设置该bucket的地域位置及其公共读写权限级别;之后还可以进一步细化ACL(Access Control List),以更精确地管理谁能够查看或修改其中的内容[^1]。 #### 文件上传与下载操作 完成上述准备工作后就可以利用Web界面直接拖拽方式轻松实现本地计算机上的文件向云端迁移;同时也支持API接口调用来满足程序自动化的需求,在Python环境中可借助`oss2`库来进行交互: ```python import oss2 auth = oss2.Auth('your-access-key-id', 'your-access-key-secret') bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'example-bucket') with open('/local/path/to/file.txt', 'rb') as fileobj: bucket.put_object('remote-file-name.txt', fileobj) # 下载文件 bucket.get_object_to_file('remote-file-name.txt', '/local/path/to/downloaded-file.txt') ``` 此段代码展示了如何通过编程手段将指定路径下的文本文件上载至名为`example-bucket`的目标桶内,并可以从远程获取已存在的资源保存于本机目录下[^4]。 #### 图片处理功能应用 除了基本的数据存取外,OSS还集成了丰富的多媒体处理特性之一就是对于图像素材的支持——允许开发者自定义样式参数对原始图进行裁剪缩放等一系列变换后再对外分享链接给其他用户浏览查阅[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值