OGeek|极客世界-中国程序员成长平台

标题: Android Amazon S3 上传视频卡住等待 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-9 06:17
标题: Android Amazon S3 上传视频卡住等待

我已经尽可能多地阅读了关于这个主题的内容,并且我已经浏览了文档 (AWS 2.2.9) 并尽可能地使用他们的示例代码,但我被困住了。这是我为设置所做的:

list -

相关权限 - “android.permission.INTERNET”和“android.permission.ACCESS_NETWORK_STATE”

服务-

android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService"android:enabled="true"

我已经设置了存储桶以及 Cognito 的凭据。这是我为上传添加的代码:

File f = getVideoFile(activity);

...

TransferObserver observer = sTransferUtility.upload(Constants.BUCKET_NAME, f.getName(), f);

    observer.setTransferListener(new TransferListener() {
        @Override
        public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
            Log.e("Transfer", "ercent Complete = " + bytesCurrent / bytesTotal * 100);
        }

        @Override
        public void onStateChanged(int id, TransferState state) {
            Log.e("Transfer", "onStateChanged");
            Log.e("Transfer", "state = " + state);
        }

        @Override
        public void onError(int id, Exception ex) {
            Log.e("Transfer", "Error = " + ex.getMessage());
        }
    });

我还临时添加了一个等待循环,看看我是否只是不耐烦,但它只是显示 state = WAITING 直到我杀死应用程序:

    TransferState state = observer.getState();
    while (state != TransferState.COMPLETED) {
        Log.e("Transfer", "state = "  + state);
        try {
            Thread.sleep(10000);
            state = observer.getState();
        } catch (Exception e) {
            Log.e("Transfer", "exception " + e.getMessage());
        }
    }

所有这些都发生在一个 fragment 内。我没有看到任何错误报告(我知道其他人已经观察到缺少配置会导致这种行为,但我认为我已经完成了我应该做的一切,在这里)。

如果听到我忽略的任何内容或需要尝试获取更多信息,我将不胜感激。

编辑:

我并不怀疑整个问题不在于代码,而在于我的配置。

我的 Cognito 和存储桶 ID 如下所示(但不完全是这些):

COGNITO_POOL_ID:“us-east-1:abcdefgh-abcd-efgh-ijkl-mnopqrstuvwxy” BUCKET_NAME:“我的桶”

我也很好奇 key 应该是我的 .upload() 中的文件名应该包含路径还是只包含文件名。我都试过了,但哪一个是正确的:

/storage/emulated/0/Android/data/com.blah.blah/files/video.mp4

视频.mp4

到目前为止还好吗?

谢谢。

-VAR



Best Answer-推荐答案


我遇到了同样的问题,下面的帖子给了我解决方案。

Uploading files doesn't work with TransferUtility Amazon S3 in Android

在 list 中,我必须将传输实用程序服务放入应用程序标签中。

关于Android Amazon S3 上传视频卡住等待,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34077205/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://www.ogeek.cn/) Powered by Discuz! X3.4