默认情况下,在受版本控制的存储空间(Bucket)中调用HeadObject接口仅获取文件(Object)当前版本的meta信息。

说明 如果Object的当前版本为删除标记,则返回404 Not Found。请求参数中指定versionId则返回指定版本Object的meta信息。
以下代码用于获取文件元信息:
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

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

// 获取指定版本文件的部分元信息。
GenericRequest getSimplifiedObjectMetaRequest = new GenericRequest("<yourBucketName>", "<yourObjectName>", "<yourVersionId>");
SimplifiedObjectMeta objectMeta = ossClient.getSimplifiedObjectMeta(getSimplifiedObjectMetaRequest);
System.out.println(objectMeta.getSize());
System.out.println(objectMeta.getETag());
System.out.println(objectMeta.getLastModified());

// 获取指定版本文件的全部元信息。
GenericRequest getObjectMetadataRequest = new GenericRequest("<yourBucketName>", "<yourObjectName>", "<yourObjectVersionid>");
ObjectMetadata metadata = ossClient.getObjectMetadata(getObjectMetadataRequest);
System.out.println(metadata.getContentType());
System.out.println(metadata.getLastModified());
System.out.println(metadata.getExpirationTime());

// 关闭OSSClient。
ossClient.shutdown();

获取文件元信息的详情请参见HeadObjectGetObjectMeta