阿里云OSS可对桶里的图片生成对应的软连接即短的url

跨境电商产品图片url 过长,优先跨境平台限制了长度不让上传,
可用同步阿里云OSS 软链接解决这个问题

阿里云OSS可对桶里的图片生成对应的软连接即短的url

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.CreateSymlinkRequest;
import com.aliyun.oss.model.ObjectMetadata;

public static void createSoftLinkUrlByOss(){
// 配置参数
String endpoint = "http://oss-cn-shenzhen.aliyuncs.com";
String accessKeyId = "xxx";
String accessKeySecret = "aaa";
String bucketName = "name1";

// 要创建的软链接名称
String symlinkName = "sku_001.jpg";
// 软链接指向的目标文件
String targetObject = "upload/sku/sku001.jpg";

// 创建OSSClient实例
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

try {
// 创建创建软链接请求
CreateSymlinkRequest request = new CreateSymlinkRequest(bucketName, symlinkName, targetObject);

// 设置元数据(如Content-Type)
// ObjectMetadata metadata = new ObjectMetadata();
// metadata.setContentType("image/jpeg"); // 设置MIME类型
// metadata.addUserMetadata("custom-path", "oss://" + bucketName + "/" + targetObject); // 自定义元数据(存储完整路径)
//
// request.setMetadata(metadata); // 关联元数据

// 可选:设置元数据
// request.setMetadata(metadata);

// 创建软链接
ossClient.createSymlink(request);

System.out.println("创建软链接成功");
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭OSSClient
if (ossClient != null) {
ossClient.shutdown();
}
}
}

pom.xml

com.aliyun.oss
aliyun-sdk-oss
3.17.4


javax.xml.bind
jaxb-api
2.3.1


javax.activation
activation
1.1.1



org.glassfish.jaxb
jaxb-runtime
2.3.3

posted @ 2025-04-22 18:05  大树2  阅读(314)  评论(0)    收藏  举报