aliyun-oss-react-native

AliyunBucketManager.java 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. package com.reactlibrary;
  2. import android.util.Log;
  3. import com.alibaba.sdk.android.oss.ClientException;
  4. import com.alibaba.sdk.android.oss.OSS;
  5. import com.alibaba.sdk.android.oss.ServiceException;
  6. import com.alibaba.sdk.android.oss.callback.OSSCompletedCallback;
  7. import com.alibaba.sdk.android.oss.internal.OSSAsyncTask;
  8. import com.alibaba.sdk.android.oss.model.CannedAccessControlList;
  9. import com.alibaba.sdk.android.oss.model.CreateBucketRequest;
  10. import com.alibaba.sdk.android.oss.model.CreateBucketResult;
  11. import com.alibaba.sdk.android.oss.model.DeleteBucketRequest;
  12. import com.alibaba.sdk.android.oss.model.DeleteBucketResult;
  13. import com.alibaba.sdk.android.oss.model.GetBucketACLRequest;
  14. import com.alibaba.sdk.android.oss.model.GetBucketACLResult;
  15. import com.alibaba.sdk.android.oss.model.ListBucketsRequest;
  16. import com.alibaba.sdk.android.oss.model.ListBucketsResult;
  17. import com.facebook.react.bridge.Arguments;
  18. import com.facebook.react.bridge.Promise;
  19. import com.facebook.react.bridge.ReactMethod;
  20. import com.facebook.react.bridge.WritableMap;
  21. public class AliyunBucketManager {
  22. private OSS mOSS;
  23. /**
  24. * AliyunBucketManager
  25. * @param oss
  26. */
  27. public AliyunBucketManager(OSS oss) {
  28. mOSS = oss;
  29. }
  30. /**
  31. * asyncCreateBucket
  32. * @param bucketName
  33. * @param acl
  34. * @param region
  35. * @param promise
  36. */
  37. public void asyncCreateBucket(String bucketName, String acl, String region, final Promise promise) {
  38. CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
  39. createBucketRequest.setBucketACL(CannedAccessControlList.parseACL(acl));
  40. createBucketRequest.setLocationConstraint(region);
  41. OSSAsyncTask createTask = mOSS.asyncCreateBucket(createBucketRequest, new OSSCompletedCallback<CreateBucketRequest, CreateBucketResult>() {
  42. @Override
  43. public void onSuccess(CreateBucketRequest createBucketRequest, CreateBucketResult createBucketResult) {
  44. Log.d("locationConstraint", createBucketRequest.getLocationConstraint());
  45. promise.resolve("createBucket success");
  46. }
  47. @Override
  48. public void onFailure(CreateBucketRequest createBucketRequest, ClientException e, ServiceException e1) {
  49. PromiseExceptionManager.resolvePromiseException(e,e1,promise);
  50. }
  51. });
  52. }
  53. /**
  54. * asyncGetBucketACL
  55. * @param bucketName
  56. * @param promise
  57. */
  58. public void asyncGetBucketACL(String bucketName, final Promise promise) {
  59. GetBucketACLRequest getBucketACLRequest = new GetBucketACLRequest(bucketName);
  60. OSSAsyncTask getBucketAclTask = mOSS.asyncGetBucketACL(getBucketACLRequest, new OSSCompletedCallback<GetBucketACLRequest, GetBucketACLResult>() {
  61. @Override
  62. public void onSuccess(GetBucketACLRequest getBucketACLRequest, GetBucketACLResult getBucketACLResult) {
  63. Log.d("BucketAcl", getBucketACLResult.getBucketACL());
  64. Log.d("Owner", getBucketACLResult.getBucketOwner());
  65. Log.d("ID", getBucketACLResult.getBucketOwnerID());
  66. WritableMap map = Arguments.createMap();
  67. map.putString("BucketAcl", getBucketACLResult.getBucketACL());
  68. map.putString("Owner", getBucketACLResult.getBucketOwner());
  69. map.putString("ID", getBucketACLResult.getBucketOwnerID());
  70. promise.resolve(map);
  71. }
  72. @Override
  73. public void onFailure(GetBucketACLRequest getBucketACLRequest, ClientException e, ServiceException e1) {
  74. PromiseExceptionManager.resolvePromiseException(e, e1, promise);
  75. }
  76. });
  77. }
  78. /**
  79. * asyncListBuckets
  80. * @param promise
  81. */
  82. public void asyncListBuckets(final Promise promise) {
  83. ListBucketsRequest listBuckets = new ListBucketsRequest();
  84. OSSAsyncTask task = mOSS.asyncListBuckets(listBuckets, new OSSCompletedCallback<ListBucketsRequest, ListBucketsResult>() {
  85. @Override
  86. public void onSuccess(ListBucketsRequest request, ListBucketsResult result) {
  87. Log.d("listBuckets", "Success!");
  88. WritableMap map = Arguments.createMap();
  89. for (int i = 0;i < result.getBuckets().size();i++) {
  90. map.putString("Bucket"+i,result.getBuckets().get(i).toString());
  91. Log.d("asyncListBuckets","bucket:"+result.getBuckets().get(i));
  92. }
  93. promise.resolve(map);
  94. }
  95. @Override
  96. public void onFailure(ListBucketsRequest request, ClientException clientException, ServiceException serviceException) {
  97. PromiseExceptionManager.resolvePromiseException(clientException,serviceException,promise);
  98. }
  99. });
  100. }
  101. /**
  102. * asyncDeleteBucket
  103. * @param bucketName
  104. * @param promise
  105. */
  106. public void asyncDeleteBucket(String bucketName,final Promise promise) {
  107. DeleteBucketRequest deleteBucketRequest = new DeleteBucketRequest(bucketName);
  108. OSSAsyncTask deleteBucketTask = mOSS.asyncDeleteBucket(deleteBucketRequest, new OSSCompletedCallback<DeleteBucketRequest, DeleteBucketResult>() {
  109. @Override
  110. public void onSuccess(DeleteBucketRequest request, DeleteBucketResult result) {
  111. promise.resolve("Delete Bucket Success!!!!!");
  112. }
  113. @Override
  114. public void onFailure(DeleteBucketRequest request, ClientException clientException, ServiceException serviceException) {
  115. PromiseExceptionManager.resolvePromiseException(clientException,serviceException,promise);
  116. }
  117. });
  118. }
  119. }