后端新增 OssUtils/OssTokenVo/OssCorsInitRunner,通过 STS 临时凭证实现客户端直传 OSS; 前端 upload API 适配直传流程,赛事创建/作品提交/作业/富文本编辑器均已切换; 多环境(dev/test/prod) OSS 配置补全;新增 oss-direct-upload-demo 示例项目及 E2E 测试。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
55 lines
917 B
Java
55 lines
917 B
Java
package com.example.oss.vo;
|
||
|
||
import lombok.AllArgsConstructor;
|
||
import lombok.Builder;
|
||
import lombok.Data;
|
||
import lombok.NoArgsConstructor;
|
||
|
||
/**
|
||
* 阿里云 OSS 直传 Token 响应 VO
|
||
* <p>
|
||
* 用于前端直传阿里云 OSS(PostObject 方式)
|
||
* </p>
|
||
*/
|
||
@Data
|
||
@Builder
|
||
@NoArgsConstructor
|
||
@AllArgsConstructor
|
||
public class OssTokenVo {
|
||
|
||
/**
|
||
* OSS 访问 ID(AccessKeyId)
|
||
*/
|
||
private String accessid;
|
||
|
||
/**
|
||
* 合法性策略(Base64 编码的 Policy)
|
||
*/
|
||
private String policy;
|
||
|
||
/**
|
||
* 签名信息
|
||
*/
|
||
private String signature;
|
||
|
||
/**
|
||
* 上传目录前缀
|
||
*/
|
||
private String dir;
|
||
|
||
/**
|
||
* OSS 上传地址(https://bucketname.endpoint)
|
||
*/
|
||
private String host;
|
||
|
||
/**
|
||
* 完整文件路径(dir + fileName)
|
||
*/
|
||
private String key;
|
||
|
||
/**
|
||
* 过期时间(秒)
|
||
*/
|
||
private Integer expire;
|
||
}
|