阅读本文,您可以获取 Java SDK 内网上传资源的接口调用示例,实现快速开发。
本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
调用接口前,请先完成 Java SDK 的安装及初始化操作。
若服务内已经存在同名文件,且您开启了重名覆盖上传,则新上传文件在上传路径及文件名重复时将覆盖同名旧文件。若未开启重名覆盖上传,则新文件上传失败。
本节为您介绍内网上传的调用示例。该示例内部依次调用封装了 ApplyVpcUploadInfo、CommitImageUpload 接口以及上传逻辑,从而实现完整的文件上传流程。
package com.volcengine.example.imagex.v2;
import com.volcengine.model.request.ApplyImageUploadRequest;
import com.volcengine.model.request.VpcUploadRequest;
import com.volcengine.model.response.CommitImageUploadResponse;
import com.volcengine.service.imagex.v2.ImagexService;
import java.io.ByteArrayInputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class VpcUploadImage {
public static void main(String[] args) {
// 默认 ImageX 实例为 `cn-north-1`,如果您想使用其他区域的实例,请使用 `ImageXServiceImpl.GetInstance(区域名)` 显式指定区域
ImagexService service = ImagexService.getInstance();
// service.setHost("open.volcengineapi.com");
service.setAccessKey("ak");
service.setSecretKey("sk");
VpcUploadRequest request = new VpcUploadRequest();
request.setServiceId("service id"); // 服务 ID
request.setFilePath("your file path"); // 文件路径,与Data二选一
request.setData(null); // 文件数据,与FilePath二选一
request.setStoreKey("your store key"); // 文件存储名
request.setPrefix("your prefix"); // 文件前缀
request.setFileExtension("your file extension"); // 文件后缀
request.setContentType("your content type"); //文件Content-Type
request.setStorageClass("your storage class"); //文件存储类型
request.setPartSize(0L); // 偏好分片大小,单位为字节(0表示按照默认规则分片)
request.setOverwrite(false); // 是否进行上传覆盖
request.setSkipMeta(false); // 是否跳过元信息
try {
// 上传文件
CommitImageUploadResponse response = service.vpcUploadImage(request);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}
}