2016-10-10 44 views
0

從畫廊得到圖像後我打電話下面的函數,當我運行該程序就沒有錯誤運行,但仍然我不能在我的S3 bucket.This找到像我的功能我已經實現了以下代碼在S3上上傳圖片。

私人無效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); 


} 

回答

0

這是我在我的上傳功能doInBackGround且將其工作正常,並返回上傳圖像的新路徑

AmazonS3Client s3Client = new AmazonS3Client(new BasicAWSCredentials(accessKey, secretKey)); 
      s3Client.setRegion(Region.getRegion(Regions.EU_CENTRAL_1)); 
      PutObjectRequest por = new PutObjectRequest(bucketName, folderName + "/" + fileName, new File(filePath)); 
      s3Client.putObject(por); 
      return s3Client.getResourceUrl(bucketName, folderName + "/" + fileName); 
+0

仍無法正常工作 – Shariq