簡體   English   中英

如何在Android中使用Java將圖像上傳到Amazon s3存儲桶?

[英]How to upload an image to Amazon s3 bucket using Java in Android?

我正在嘗試將從相機拍攝的圖像上傳到s3存儲桶。

CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(),
"us-west-2:xxxxxxxxxxxxx",
Regions.US_WEST_2
);

 AmazonS3Client s3Client = new AmazonS3Client(new AWSCredentials() {
        @Override
        public String getAWSAccessKeyId() {
            return "XXXXXXX";
        }

        @Override
        public String getAWSSecretKey() {
            return "XXXXXXX";
        }
    });


    TransferUtility transferUtility = new TransferUtility(s3Client,getApplicationContext());

transferUtility.upload(MY_BUCKET,file.getName(),file);

我的游泳池在us-west-2,但我的購物區域在亞太悉尼。

運行上面的代碼崩潰,並給我下面的錯誤。

Java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in com.amazonaws.mobileconnectors.s3.transferutility.TransferService$NetworkInfoReceiver@744215
                                                                                 at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$-android_app_LoadedApk$ReceiverDispatcher$Args_50043(LoadedApk.java:1282)
                                                                                 at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.$m$0(Unknown Source:4)
                                                                                 at android.app.-$Lambda$FilBqgnXJrN9Mgyks1XHeAxzSTk.run(Unknown Source:0)
                                                                                 at android.os.Handler.handleCallback(Handler.java:769)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                                 at android.os.Looper.loop(Looper.java:164)
                                                                                 at android.app.ActivityThread.main(ActivityThread.java:6540)
                                                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                                                 at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
                                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
                                                                              Caused by: java.lang.SecurityException: ConnectivityService: Neither user 10084 nor current process has android.permission.ACCESS_NETWORK_STATE.
                                                                                 at android.os.Parcel.readException(Parcel.java:1948)

我在清單文件中添加了許可證和服務。 如何解決此問題並將圖像發送到亞太悉尼的S3存儲桶。

我在清單文件下擁有這些權限-

   <uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="ANDROID.PERMISSION.ACCESS_NETWORK_STATE" />

正如錯誤明確指出的那樣,您需要在清單中添加android.permission.ACCESS_NETWORK_STATE權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM