Как загрузить файлы в облачное хранилище Google из кода C #, загруженного на IIS - PullRequest
0 голосов
/ 08 ноября 2019

Я работаю над проектом, в котором мне нужно передать файл во внешний API из подписанного URL.

Мой код выглядит следующим образом:

public void UploadFile(string localPath)
   {
       string objectName = null;
       string path = System.Web.HttpContext.Current.Server.MapPath(Resource.GoogleSigningKey); //path to google cloud key
       var credential = GoogleCredential.FromFile(path);
       var storage = StorageClient.Create(credential);
       using (var f = File.OpenRead(localPath))
           {
               objectName = Path.GetFileName(localPath);
               storage.UploadObject(Resource.BucketName, objectName, null, f);
           }
   }

Здесь я загружаюфайл в Google Cloud Storage для создания подписанного URL

, этот код отлично работает на локальном компьютере, но когда я загружаю его в IIS, я получаю сообщение об ошибке "Ошибка подключения, так как подключенная сторона недолжным образом ответить через некоторое время или не удалось установить соединение, так как подключенный хост не смог ответить 21X.XX.XXX.XXX:ZZZ"

Версия IIS - 7.5.

Есть ли у менясделать некоторые настройки конфигурации в облачном хранилище Google для производства.

Я получаю следующую ошибку:

An error occurred while sending the request. at Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.CheckFinalProgress() at Google.Cloud.Storage.V1.StorageClientImpl.UploadHelper.Execute() at Google.Cloud.Storage.V1.StorageClientImpl.UploadObject(String bucket, String objectName, String contentType, Stream source, UploadObjectOptions options, IProgress`1 progress) 

Редактировать 1 Тот же код работает, когда я создаю приложение формы Windows и запускаю его на сервере. За исключением

string path = System.Web.HttpContext.Current.Server.MapPath(Resource.GoogleSigningKey);

Я использую

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var credential = GoogleCredential.FromFile(path + @"\DataFiles\TestStorage.json");

Редактировать 2

Сервер IIS настроен в настройке прокси-сервера, Google CloudДля доступа требуется отдельная настройка параметров прокси

Пожалуйста, помогите

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...