Как мы можем загружать файлы в облачный контейнер с помощью API на C#

Я хочу загружать файлы в облачный контейнер Rackspace с помощью API на С#, и я использую версию .net 4.0. Итак, как я могу создать веб-запрос для этого. Даже я успешно создал контейнеры с тем же запросом, но не могу создать объект в своем контейнере.

Сколько раз я пытался загрузить свой файл в свой контейнер, но я постоянно получаю сообщение об ошибке, например Неавторизованный доступ, и мой код показан ниже:

HttpWebRequest request = WebRequest.Create(new Uri(authInfo.StorageUrl + "/TestContainer/myfile.txt")) as HttpWebRequest;
request.Method = "PUT";
request.Headers["X-Auth-Token"] = MyToken;
byte[] data = System.IO.File.ReadAllBytes(@"D:\myfile.txt");
request.ContentLength = data.Length;
//request.Headers["Content-Length"] = "512000";
var response = request.GetResponse();

Пожалуйста, скажите мне, что я делаю неправильно с этим.


person RKK    schedule 21.09.2012    source источник
comment
Пожалуйста, поделитесь своим ответом/решением с сообществом.   -  person ajtrichards    schedule 10.11.2012


Ответы (1)


Вы не записали байты в поток запросов. Сделайте что-то вроде этого:

Stream reqStream = request.GetRequestStream();

reqStream.Write(fileBytes, 0, fileBytes.Length);

reqStream.Close();

Webresponse response = request.getresponse();
person conway    schedule 29.12.2012