title: get url of uploaded s3 object .net
body: <p>So currently my code uploads an image to S3 but what I want it to now do is to get the URL of the image that has been uploaded, so this URL can be stored in the DB and used later. </p>
  
  <p>I know it's possible, as it was shown in this question here: <a href="https://stackoverflow.com/questions/45514779/s3-file-upload-does-not-return-response">s3 file upload does not return response</a> (but that is JavaScript and I'm struggling to convert it to c#)</p>
  
  <p>This is my code, it works perfectly, I just need to get the URL of the uploaded object + is there a way to make the object public by default. I tried to console write the response but that was no help</p>
  
  <pre><code>public class AmazonS3Uploader
  {
  
      private string bucketName = "cartalkio-image-storage-dev";
      private string keyName = DateTime.Now.ToString() + ".png";
  
  
      public async void UploadFile()
      {
          byte[] bytes = System.Convert.FromBase64String("iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==");
  
          Stream stream = new MemoryStream(bytes);
  
          var myAwsAccesskey = "*************";
          var myAwsSecret = "**************************";
  
          var client = new AmazonS3Client(myAwsAccesskey, myAwsSecret, Amazon.RegionEndpoint.EUWest2);
  
          try
          {
              PutObjectRequest putRequest = new PutObjectRequest
              {
                  BucketName = bucketName,
                  Key = keyName,
                  ContentType = "image/png",
                  InputStream = stream
              };
  
              PutObjectResponse response = await client.PutObjectAsync(putRequest);
  
          // Console.Write(response);
          }
          catch (AmazonS3Exception amazonS3Exception)
          {
              if (amazonS3Exception.ErrorCode != null &amp;&amp;
                  (amazonS3Exception.ErrorCode.Equals("InvalidAccessKeyId")
                  ||
                  amazonS3Exception.ErrorCode.Equals("InvalidSecurity")))
              {
                  throw new Exception("Check the provided AWS Credentials.");
              }
              else
              {
                  throw new Exception("Error occurred: " + amazonS3Exception.Message);
              }
          }
      }
  </code></pre>