Я работаю над проектом, в котором мне нужно передать файл во внешний 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Для доступа требуется отдельная настройка параметров прокси
Пожалуйста, помогите
Спасибо