diff --git a/oss-android-sdk/src/androidTest/java/com/alibaba/sdk/android/ManageObjectTest.java b/oss-android-sdk/src/androidTest/java/com/alibaba/sdk/android/ManageObjectTest.java index b0634a99..9dd22933 100644 --- a/oss-android-sdk/src/androidTest/java/com/alibaba/sdk/android/ManageObjectTest.java +++ b/oss-android-sdk/src/androidTest/java/com/alibaba/sdk/android/ManageObjectTest.java @@ -315,6 +315,25 @@ public void testHeadObject() throws Exception { assertEquals(1024 * 1000, headResult.getMetadata().getContentLength()); } + @Test + public void testGetObjectMeta() throws Exception { + GetObjectMetaRequest getObjectMeta = new GetObjectMetaRequest(mBucketName, "file1m"); + GetObjectMetaResult getObjectMetaResult = oss.getObjectMeta(getObjectMeta); + + assertNotNull(getObjectMetaResult.getMetadata().getETag()); + assertNotNull(getObjectMetaResult.getMetadata().getLastModified()); + assertEquals(1024 * 1000, getObjectMetaResult.getMetadata().getContentLength()); + + PutObjectRequest file1m = new PutObjectRequest(mBucketName, + "file1m.txt", filePath); + oss.putObject(file1m); + + getObjectMeta = new GetObjectMetaRequest(mBucketName, "file1m.txt"); + getObjectMetaResult = oss.getObjectMeta(getObjectMeta); + + assertEquals(1024 * 1000, getObjectMetaResult.getMetadata().getContentLength()); + } + @Test public void testDoesObjectExist() throws Exception { diff --git a/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSClient.java b/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSClient.java index 11c4b564..40edfb25 100644 --- a/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSClient.java +++ b/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSClient.java @@ -16,6 +16,8 @@ import com.alibaba.sdk.android.oss.model.AbortMultipartUploadResult; import com.alibaba.sdk.android.oss.model.AppendObjectRequest; import com.alibaba.sdk.android.oss.model.AppendObjectResult; +import com.alibaba.sdk.android.oss.model.GetObjectMetaRequest; +import com.alibaba.sdk.android.oss.model.GetObjectMetaResult; import com.alibaba.sdk.android.oss.model.DeleteObjectTaggingRequest; import com.alibaba.sdk.android.oss.model.DeleteObjectTaggingResult; import com.alibaba.sdk.android.oss.model.GetObjectMetaRequest; diff --git a/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSImpl.java b/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSImpl.java index db2c253c..f7fe6dad 100644 --- a/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSImpl.java +++ b/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/OSSImpl.java @@ -21,6 +21,8 @@ import com.alibaba.sdk.android.oss.model.AbortMultipartUploadResult; import com.alibaba.sdk.android.oss.model.AppendObjectRequest; import com.alibaba.sdk.android.oss.model.AppendObjectResult; +import com.alibaba.sdk.android.oss.model.GetObjectMetaRequest; +import com.alibaba.sdk.android.oss.model.GetObjectMetaResult; import com.alibaba.sdk.android.oss.model.DeleteObjectTaggingRequest; import com.alibaba.sdk.android.oss.model.DeleteObjectTaggingResult; import com.alibaba.sdk.android.oss.model.GetObjectMetaRequest; diff --git a/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/internal/ResponseParsers.java b/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/internal/ResponseParsers.java index beccdae0..8ea418b2 100644 --- a/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/internal/ResponseParsers.java +++ b/oss-android-sdk/src/main/java/com/alibaba/sdk/android/oss/internal/ResponseParsers.java @@ -950,6 +950,15 @@ public HeadObjectResult parseData(ResponseMessage response, HeadObjectResult res } } + public static final class GetObjectMetaResponseParser extends AbstractResponseParser { + + @Override + public GetObjectMetaResult parseData(ResponseMessage response, GetObjectMetaResult result) throws Exception { + result.setMetadata(parseObjectMetadata(result.getResponseHeader())); + return result; + } + } + public static final class GetObjectResponseParser extends AbstractResponseParser { @Override