0
ギャラリーから画像を取得した後、私は次の関数を呼び出しています。プログラムを実行すると、エラーは発生しませんが、S3バケットの画像は見つかりません。私はS3上に画像をアップロードするために次のコードを実装しました。
private void uploadImageToAWS {
final AsyncTask<String, String, String> _Task = new AsyncTask<String, String, String>() {
@Override
protected void onPreExecute() {
}
@Override
protected String doInBackground(String... arg0)
{
if (CheckNetStatus())
{
try {
java.util.Date expiration = new java.util.Date();
long msec = expiration.getTime();
msec += 1000 * 60 * 60; // 1 hour.
expiration.setTime(msec);
publishProgress(arg0);
String existingBucketName = "nkupload";
String keyName = "001";
// String filePath = pathstring;
AmazonS3Client s3Client1 = new AmazonS3Client(new BasicAWSCredentials(access_key_id,secret_access_key));
PutObjectRequest por = new PutObjectRequest(existingBucketName,
keyName + ".png",new File(pictureDirectoryPath));//key is URL
//making the object Public
por.setCannedAcl(CannedAccessControlList.PublicRead);
s3Client1.putObject(por);
String _finalUrl = "https://"+existingBucketName+".s3.amazonaws.com/" + keyName + ".png";
} catch (Exception e) {
// writing error to Log
e.printStackTrace();
Toast bread = Toast.makeText(getApplicationContext(), "An Error Occured", Toast.LENGTH_LONG);
bread.show();
}
}
else
{
Toast bread = Toast.makeText(getApplicationContext(), "An Error Occured", Toast.LENGTH_LONG);
bread.show();
}
return null;
}
@Override
protected void onProgressUpdate(String... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
System.out.println("Progress : " + values);
}
@Override
protected void onPostExecute(String result)
{
Toast bread = Toast.makeText(getApplicationContext(), "An Error Occured", Toast.LENGTH_LONG);
bread.show();
}
};
_Task.execute((String[]) null);
}
の新しいパスを返し、まだ動作していません – Shariq