无法将文件上传到AWS S3存储桶

时间:2020-03-13 11:10:52

标签: flutter amazon-s3 flutter-dependencies

我正在尝试将文件上传到S3存储桶。我为此编写了以下代码:-

String uploadedImageUrl = await AmazonS3Cognito.upload(
    _imagePath,
    "my-bucket",
    "us-east-2:some:pool:id",
    "uploaded_by_gourav.jpg",
    AwsRegion.US_EAST_2,
    AwsRegion.US_EAST_2);

但是它不起作用。它给了我以下错误:-

I/AWSKeyValueStore(28725): Detected Android API Level = 26
I/AWSKeyValueStore(28725): Creating the AWSKeyValueStore with key for sharedPreferencesForData = com.amazonaws.android.auth
D/CognitoCachingCredentialsProvider(28725): Loading credentials from SharedPreferences
E/MethodChannel#amazon_s3_cognito(28725): Failed to handle method call
E/MethodChannel#amazon_s3_cognito(28725): java.lang.SecurityException: ConnectivityService: Neither user 10390 nor current process has android.permission.ACCESS_NETWORK_STATE.
E/MethodChannel#amazon_s3_cognito(28725):   at android.os.Parcel.readException(Parcel.java:1967)
E/MethodChannel#amazon_s3_cognito(28725):   at android.os.Parcel.readException(Parcel.java:1913)
E/MethodChannel#amazon_s3_cognito(28725):   at android.net.IConnectivityManager$Stub$Proxy.getActiveNetworkInfo(IConnectivityManager.java:1605)
E/MethodChannel#amazon_s3_cognito(28725):   at android.net.ConnectivityManager.getActiveNetworkInfo(ConnectivityManager.java:915)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferNetworkConnectionType.isConnected(TransferNetworkConnectionType.java:82)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferRecord.checkPreferredNetworkAvailability(TransferRecord.java:367)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferRecord.start(TransferRecord.java:181)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility.submitTransferJob(TransferUtility.java:917)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility.upload(TransferUtility.java:579)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility.upload(TransferUtility.java:530)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility.upload(TransferUtility.java:499)
E/MethodChannel#amazon_s3_cognito(28725):   at com.amazonaws.mobileconnectors.s3.transferutility.TransferUtility.upload(TransferUtility.java:443)
E/MethodChannel#amazon_s3_cognito(28725):   at com.famproperties.amazon_s3_cognito.AwsRegionHelper.uploadImage(AwsRegionHelper.kt:85)
E/MethodChannel#amazon_s3_cognito(28725):   at com.famproperties.amazon_s3_cognito.AmazonS3CognitoPlugin.onMethodCall(AmazonS3CognitoPlugin.kt:79)
E/MethodChannel#amazon_s3_cognito(28725):   at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:231)
E/MethodChannel#amazon_s3_cognito(28725):   at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:93)
E/MethodChannel#amazon_s3_cognito(28725):   at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:642)
E/MethodChannel#amazon_s3_cognito(28725):   at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#amazon_s3_cognito(28725):   at android.os.MessageQueue.next(MessageQueue.java:325)
E/MethodChannel#amazon_s3_cognito(28725):   at android.os.Looper.loop(Looper.java:142)
E/MethodChannel#amazon_s3_cognito(28725):   at android.app.ActivityThread.main(ActivityThread.java:6944)
E/MethodChannel#amazon_s3_cognito(28725):   at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#amazon_s3_cognito(28725):   at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
E/MethodChannel#amazon_s3_cognito(28725):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
E/flutter (28725): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, ConnectivityService: Neither user 10390 nor current process has android.permission.ACCESS_NETWORK_STATE., null)
E/flutter (28725): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:569:7)
E/flutter (28725): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:18)
E/flutter (28725): <asynchronous suspension>
E/flutter (28725): #2      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:329:12)
E/flutter (28725): #3      AmazonS3Cognito.upload (package:amazon_s3_cognito/amazon_s3_cognito.dart:36:45)
E/flutter (28725): #4      SignUpState._makePostRequest (package:app/authentication/signup.dart:612:53)
E/flutter (28725): #5      SignUpState._validateAndSubmit.<anonymous closure> (package:app/authentication/signup.dart:600:9)
E/flutter (28725): #6      State.setState (package:flutter/src/widgets/framework.dart:1171:30)
E/flutter (28725): #7      SignUpState._validateAndSubmit (package:app/authentication/signup.dart:598:7)
E/flutter (28725): #8      SignUpState._buildSignUpButton.<anonymous closure> (package:app/authentication/signup.dart:521:31)
E/flutter (28725): #9      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:705:14)
E/flutter (28725): #10     _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:788:36)
E/flutter (28725): #11     GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (28725): #12     TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:486:11)
E/flutter (28725): #13     BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:264:5)
E/flutter (28725): #14     BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:236:7)
E/flutter (28725): #15     GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:156:27)
E/flutter (28725): #16     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:222:20)
E/flutter (28725): #17     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter (28725): #18     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (28725): #19     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (28725): #20     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (28725): #21     _rootRunUnary (dart:async/zone.dart:1138:13)
E/flutter (28725): #22     _CustomZone.runUnary (dart:async/zone.dart:1031:19)
E/flutter (28725): #23     _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)
E/flutter (28725): #24     _invoke1 (dart:ui/hooks.dart:274:10)
E/flutter (28725): #25     _dispatchPointerDataPacket (dart:ui/hooks.dart:183:5)

还要求允许进入Android Manifest:- android.permission.INTERNET android.permission.ACCESS_NETWORK_STATE

我不知道我错过了什么。这是我对flutter的第一个应用程序。

0 个答案:

没有答案