通过HeadObject方法可以只获取文件元信息而不获取文件的实体。
获取文件元信息代码如下:
// 创建同步获取文件元信息请求。 HeadObjectRequest head = new HeadObjectRequest("<bucketName>", "<objectKey>"); // 获取文件元信息。 OSSAsyncTask task = oss.asyncHeadObject(head, new OSSCompletedCallback<HeadObjectRequest, HeadObjectResult>() { @Override public void onSuccess(HeadObjectRequest request, HeadObjectResult result) { // 获取文件长度。 Log.d("headObject", "object Size: " + result.getMetadata().getContentLength()); // 获取文件类型。 Log.d("headObject", "object Content Type: " + result.getMetadata().getContentType()); } @Override public void onFailure(HeadObjectRequest request, ClientException clientExcepion, ServiceException serviceException) { // 请求异常。 if (clientExcepion != null) { // 本地异常,如网络异常等。 clientExcepion.printStackTrace(); } if (serviceException != null) { // 服务异常。 Log.e("ErrorCode", serviceException.getErrorCode()); Log.e("RequestId", serviceException.getRequestId()); Log.e("HostId", serviceException.getHostId()); Log.e("RawMessage", serviceException.getRawMessage()); } } }); // task.waitUntilFinished(); //等待任务完成。