2016-08-19 7 views
1

私は、サーバーに画像をアップロードするAmazon S3のサービスのAndroid APIを使用しています。コードを使用してイメージを再度ダウンロードすると、メソッドのパラメータによってファイルを渡してこのイメージを保存する必要がありますが、このイメージをイメージビューにアップロードします。私はこれをdrawableにどのように変換すると思いますか?イメージビューにアマゾンS3からイメージをダウンロードして保存する方法

これはメソッドです:

TransferObserver observer = transferUtility.download(
MY_BUCKET,  /* The bucket to download from */ 
OBJECT_KEY, /* The key for the object to download */ 
MY_FILE  /* The file to download the object to */ 
); 
+0

あなたのイメージのためのURLの生成を試してみてください、あなたはeasyly ImageViewのにピカソやグライドまたは任意でそれらを得ることができますurl-for-amazon-s3-files.html – Tasos

+0

どうすれば検索できますか? –

+0

そのリンクについては申し訳ありませんが、私はAmazonによってだと思っていましたが、あなたのBucketのリンクを生成するための有料サービスでした。 Amazonがリンクを生成する無料の方法を提供しているかどうかを見てください。 ---そうです。あなたの画像へのリンクや使いやすいPicassoのようなものを使用すれば、それはリンクを取り込んでそれをimageViewに表示します。 http://square.github.io/picasso/ – Tasos

答えて

3

ですから、システム上のjava.io.Fileを作成する必要があります。あなたはこのような何かを行うことができます。

File outputDir = context.getCacheDir(); 
File imageFile = File.createTempFile("prefix", "extension", outputDir); 

は、その後、あなたは、Amazon S3のコードを呼び出すことができます。

TransferObserver observer = transferUtility.download(
MY_BUCKET,  /* The bucket to download from */ 
OBJECT_KEY, /* The key for the object to download */ 
MY_FILE  /* The file to download the object to */ 
); 

は、ファイルがダウンロードされたとき、あなたは知っているので、同様にあなたのTransferListenerを作成することを確認します。

次に、あなたは、このようなビットマップにファイルを変換することができます

Bitmap bitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath()); 
mImageView.setImageBitmap(bitmap); 

あなたも同様に支援するために、ピカソや他の画像処理ライブラリのようなものを使用することができます。 S3で保存されるファイルであるため、ファイルを扱うことができます。 http://www.bucketexplorer.com/documentation/amazon-s3--how-to-generate- -

関連する問題