Android Amazon s3 存储桶
Posted
技术标签:
【中文标题】Android Amazon s3 存储桶【英文标题】:Android Amazon s3 bucket 【发布时间】:2016-08-25 09:26:46 【问题描述】:如何从特定文件夹中的 Amazon Web Services S3 存储桶下载文件。
截至目前,我在我的 android studio 中导入 amazon transfer Utility 项目示例,它工作正常没问题,但每当我从 AWS-S3 存储桶下载文件时,文件下载到默认外部存储位置。 因此,我希望将文件下载到特定文件夹中,例如 storage/folder_name/file_name.txt
【问题讨论】:
【参考方案1】:您可以使用AWS SDK 将文件下载到您想要的任何位置。 或者使用 CLI 工具,例如 AWS CLI 或 s3cmd
【讨论】:
【参考方案2】:试试这个..我在我的项目中使用它能够将图像下载到特定文件夹..
File imageImage = new File(mContext.getDir(USER_PROFILE_DIRECTORY, Context.MODE_PRIVATE)+ ImageName).getAbsoluteFile();
Download(checkImage,Constants.AMAZON_BUCKET_IMAGE,ImageName);
/**
* To download the image from the Amazon S3 bucket and store the image locally to the particular directory
* @param DownloadingImagePath Source path of the image file to be stored
* @param ImageName Image file name / Object key of Amazon S3
* @param ImageBucket Amazon S3 bucket name
*/
public void Download(File DownloadingImagePath,String ImageBucket,String ImageName)
try
AWSCredentials credentials = new BasicAWSCredentials(ACCESS_KEY, SECRET_KEY);
AmazonS3 s3 = new AmazonS3Client(credentials);
java.security.Security.setProperty("networkaddress.cache.ttl" , "60");
s3.setRegion(Region.getRegion(Regions.AP_SOUTHEAST_1));
s3.setEndpoint("https://s3-ap-southeast-1.amazonaws.com/");
TransferUtility transferUtility = new TransferUtility(s3, mContext);
TransferObserver observer = transferUtility.download(ImageBucket, ImageName, DownloadingImagePath);
observer.setTransferListener(new TransferListener()
@Override
public void onStateChanged(int id, TransferState state)
//Log.e("Amazon Stats",state.name());
@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal)
@Override
public void onError(int id, Exception ex)
);
catch (Exception ignored)
【讨论】:
不客气。如果此答案对您有帮助,请接受。它可能有助于其他人解决如何寻找相同的东西..享受编码............ 你好安丹,..我可以按照你的建议去做..还有一个问题...我在 S3 存储桶中有这么多文件,但我只下载了那些我单击...所以,我想从本地/外部存储中的 S3 存储桶中下载所有文件.....任何进一步的建议...... 我的图片是保存在bucket里面的一个文件夹里的,是不是一定要提到这个文件夹作为bucket的名字还是key里面提到呢?以上是关于Android Amazon s3 存储桶的主要内容,如果未能解决你的问题,请参考以下文章