title: Amazon S3 upload with public permissions
body: <p>I'm using the Amazon C# SDK and trying to upload a file, but by default it has restricted permissions.  I would like to make it publicly available, but I can't seem to find out how to do it as part of the upload.  </p>
  
  <p>My bucket is public, but when I upload a new file using the code below, the file I upload is not public.</p>
  
  <p>Has anyone had to do this before?</p>
  
  <pre><code>public class S3Uploader
  {
      private string awsAccessKeyId;
      private string awsSecretAccessKey;
      private string bucketName;
      private Amazon.S3.Transfer.TransferUtility transferUtility;
  
      public S3Uploader(string bucketName)
      {
          this.bucketName = bucketName;
          this.transferUtility = new Amazon.S3.Transfer.TransferUtility("XXXXXXXXXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
  
      }
  
      public void UploadFile(string filePath, string toPath)
      {
          AsyncCallback callback = new AsyncCallback(uploadComplete);
          transferUtility.BeginUpload(filePath, bucketName, toPath, callback, null);
      }
  
      private void uploadComplete(IAsyncResult result)
      { 
          var x = result;
      }
  }
  </code></pre>