gpt4 book ai didi

android - 如何使用适用于 Android 的 AWS SDK 将图像上传到 Digital Ocean Spaces?

转载 作者:搜寻专家 更新时间:2023-11-01 08:23:32 26 4
gpt4 key购买 nike

由于 Digital Ocean Spaces API 与 AWS SDK 兼容,如何使用适用于 Android 的 AWS SDK 以编程方式将图像上传到 Digital Ocean Spaces?

最佳答案

将 sdk 添加到您的 android studio 项目中的 build.gradle 中:

compile 'com.amazonaws:aws-android-sdk-core:2.6.9'
compile 'com.amazonaws:aws-android-sdk-s3:2.6.9'
compile 'com.amazonaws:aws-android-sdk-ddb:2.6.9'

在 list 文件中添加以下服务:

<service android:name="com.amazonaws.mobileconnectors.s3.transferutility.TransferService"
android:enabled="true" />

基本步骤:

1.您首先使用 BasicAWSCredentails 类创建用于访问 S3 的 AWS 凭证

2.将 AWS 凭证传递给 AmazonS3 实例

3.然后将 AmazonS3 对象传递给 TransferUtility 类

4.您将要传输的BucketName、FileName和FileObject分配给TransferObserver类

5.最后您使用 TransferObserver 类的 setTransferListener 跟踪您的转账详情

代码(经过测试和运行):

    AmazonS3Client s3;
BasicAWSCredentials credentials;
TransferUtility transferUtility;
final TransferObserver observer;
String key = "YOUR_SPACES_KEY";
String secret = "YOUR_SPACES_SECRET_KEY";

credentials = new BasicAWSCredentials(key, secret);
s3 = new AmazonS3Client(credentials);
s3.setEndpoint("https://BUCKET_NAME.nyc3.digitaloceanspaces.com/DIRECTORY_IF_NEEDED");

transferUtility = new TransferUtility(s3, activity);
CannedAccessControlList filePermission = CannedAccessControlList.PublicRead;

observer = transferUtility.upload(
"", //empty bucket name, included in endpoint
"FILE_NAME.PNG",
new File(), //a File object that you want to upload
filePermission
);

observer.setTransferListener(new TransferListener() {
@Override
public void onStateChanged(int id, TransferState state) {
if (state.COMPLETED.equals(observer.getState())) {
Toast.makeText(activity, "Space upload completed !!", Toast.LENGTH_SHORT).show();
}
}

@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
}

@Override
public void onError(int id, Exception ex) {
Toast.makeText(activity, "Space upload error: " + ex.getMessage(), Toast.LENGTH_SHORT).show();
}
});

引用自:http://yasirameen.com/2016/10/uploading-file-to-amazon-s3/

关于android - 如何使用适用于 Android 的 AWS SDK 将图像上传到 Digital Ocean Spaces?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47689981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com