OSS服务端签名后直传

使用应用程序上传文件的缺点

  1. 慢: 先将文件发送至后端 在由后端调用阿里oss进行上传 而直传没有中转这一步 直接拿着密钥 调用oss进行上传
  2. 扩展性差: 若之后用户增多 增大后端服务器的压力
  3. 费用高: 因为oss上传上行流量是不收费的 直传oss 可以省去应用服务器的费用

image

服务端使用

首先导入包并配置好key 和 endpoint bucket
image

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>aliyun-oss-spring-boot-starter</artifactId>
        </dependency>

导入net.sf.json-lib 这个包的最后版本更新的时候jdk为1.5 所以还要指定jdk版本

        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <classifier>jdk15</classifier>
    </dependency>

文档地址: https://help.aliyun.com/document_detail/91868.htm?spm=a2c4g.11186623.0.0.16072214bdo6s4#concept-ahk-rfz-2fb
可以自定义文件上传前缀
image

根据文档复制粘贴即可 若后端已经配置过跨域请求 得把最后两句删掉 否则跨域重复会报错
image
服务端返回的密钥
image

前端调用

文件上传需要以下几项数据 大部分可以从后端请求到
success_action_status 若不设置 上传成功状态码为204 key为文件名称 前缀必须为dir

      policyData: {
        OSSAccessKeyId: '',
        policy: '',
        signature: '',
        key: '',
        success_action_status: 200
      }

设置上传的请求体
image
在上传组件中定义要携带的数据
image
action 为policy中的host

posted @   RainbowMagic  阅读(403)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示