title: Upload files to Google cloud storage using c#
body: <p>I am using the below sample code to upload the file into the Google cloud storage (Bucket). it is working properly when executed from my local machine. But is giving me the following exception when executed in the production environment.
  Program code.</p>
  
  <pre><code>public class Program
  {
      static void Main(string[] args)
      {
          try
          {
              string bucketName = "bucketName";
              string sharedkeyFilePath = GetFilePath("privateKey.json");
              GoogleCredential credential = null;
              using (var jsonStream = new FileStream(sharedkeyFilePath, FileMode.Open,
                  FileAccess.Read, FileShare.Read))
              {
                  credential = GoogleCredential.FromStream(jsonStream);
              }
              var storageClient = StorageClient.Create(credential);
              string filetoUpload = GetFilePath("demo.txt");
              using (var fileStream = new FileStream(filetoUpload, FileMode.Open,
                  FileAccess.Read, FileShare.Read))
              {
                  storageClient.UploadObject(bucketName, "demo.txt", "text/plain", fileStream);
              }
              Console.WriteLine("uploaded the file successfully");
              Console.ReadLine();
          }
          catch (Exception ex)
          {
              throw ex;
          }
      }
      public static string GetFilePath(string filename)
      {
          return GetFilePath(Assembly.GetCallingAssembly().Location, filename);
      }
      public static string GetFilePath(string path, string filename)
      {
          return path.Substring(0, path.LastIndexOf("\\")) + @"\" + filename;
      }
  }
  </code></pre>
  
  <p>Exception Details:</p>
  
  <pre><code>`A task was canceled.
    at Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.CheckFinalProgress()
     at Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.Execute()
     at Google.Cloud.Storage.V1.StorageClientImpl.UploadObject(Object destination, Stream source, UploadObjectOptions options, IProgress`1 progress)
     at Google.Cloud.Storage.V1.StorageClientImpl.UploadObject(String bucket, String objectName, String contentType, Stream source, UploadObjectOptions options, IProgress`1 progress)
     at gcsUpload.Program.Main(String[] args) in d:\Ganesh Deshmukh\Projects\GCS\gcsUpload\gcsUpload\Program.cs:line 49
  Google.Cloud.Storage.V1`
  </code></pre>