2

私はs3バケツから自分の画像をつかみ、(グライドやピカソを使って)その画像を画像ビューにロードしたいと思っています。 (私はそのイメージを私の電話にダウンロードしたくない)。aws s3からimageviewに画像をダウンロードするには?

現在、私はこの持っている:再び

downloadButton = (Button) findViewById(R.id.cognito_s3DownloadButton); 
     downloadButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) 
      { 
       File file = new File(Environment.getExternalStorageDirectory().toString() + "/" + "fromAWS"); 
       observer = transferUtility.download("zivit-card-images","image1", file); 
       Glide.with(getBaseContext()).load("image in byes? or url?").centerCrop().into(myImageView); 
      } 
     }); 

を、どのように私は、S3から画像を取得し、ImageViewのに挿入していますか?

+0

あなたは 'transferUtility.download()'にファイル参照を渡します。これは、転送ユーティリティがs3オブジェクトをダウンロードするファイルです。 TransferObserverオブジェクトの – Karthik

答えて

1

グライドまたはピカソを使用する場合、imageが保存される場所を心配する必要はありません。ピカソまたはグライドはCachingの世話をします。そうする必要はありません。

グライドまたはピカソを使用してImageViewに画像を設定する必要があるのは、画像URLです。私は、あなたがあなたのS3バケットからイメージを持っている必要があり、あなたがあなたのS3バケットから画像を使用したい、このような何かを考える:

https://a2.muscache.com/im/pictures/9c66dcc5-6d39-43b3-82ec-72e9d119f873.jpg 

、あなたはあなたのコードを実行する必要があるすべては次のとおりです。

downloadButton = (Button) findViewById(R.id.cognito_s3DownloadButton); 
    downloadButton.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Glide.with(getBaseContext()) 
       .load("https://a2.muscache.com/im/pictures/9c66dcc5-6d39-43b3-82ec-72e9d119f873.jpg") 
       .centerCrop() 
       .into(myImageView); 
     } 
}); 
+0

、イメージのURLを取得するにはどうすればよいですか?一般的に、イメージs3のURLを取得する方法は何ですか?それをあなたのコードに含めることができるでしょうか? –

+1

申し訳ありませんが、私はS3の経験はありませんが、あなたはS3のものを自分で処理する必要がありますが、S3画像のURLは他の画像URLと同じにする必要があります。 –

+0

ええ、それは大丈夫です。応答を感謝します –

2
public String downloadimage() 

    { 

     Calendar cal = Calendar.getInstance(); 
     cal.setTime(new Date()); 
     cal.add(Calendar.HOUR, +1); 
     Date oneHourLater = cal.getTime(); 
     AmazonS3 s3 = new AmazonS3Client(credentialsProvider); 
     URL url = s3.generatePresignedUrl(
       "testproject12345", 
       "first.jpg", 
       oneHourLater 
     ); 
     Log.e("url was", url.toString()); 
     String urlstring = url.toString(); 
     return urlstring; 
    } 

catch that function in your activity 


download = (Button)findViewById(R.id.download); 
     final ImageView imageview = (ImageView) findViewById(R.id.image); 
     download.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

download1 = new Uploader(getmain().getCredentialsProvider(),getApplicationContext()); 


       String url = download1.downloadimage(); 
       Picasso.with(getApplicationContext()) 
         .load(url) 
         .into(imageview); 


      } 
     }); 
関連する問題