0

我需要上传一个文件到 RackSpace 的云文件。

在他们的 API 页面上,他们有一个 cUrl 示例,有人知道如何在 C# 中实现它吗?

任何北方都将不胜感激,因为我的搜索没有帮助,即使在这里我发现的只是看起来很像常规上传的代码。

这是我需要在 C# 中工作的示例:

Upload File to Container
curl -X PUT -T screenies/hello.jpg -D - \
-H "ETag: 805120e285a7ed28f74024422fe3594" \
-H "Content-Type: image/jpeg" \
-H "X-Auth-Token: fc81aaa6-98a1-9ab0-94ba-aba9a89aa9ae" \
-H "X-Object-Meta-Screenie: Hello World" \

https://storage.clouddrive.com/v1/CF_xer7_343/
images/hello.jpg

HTTP/1.1 201 Created
Date: Thu, 09 July 2009 17:03:36 GMT
Server: Apache
Content-Length: 0
ETag: 805120e285a7ed28f74024422fe3594
Content-Type: text/plain

需要明确的是,我不希望任何人为我做我的工作,我只需要一些教程或如我所说的那样。

谢谢。

4

1 回答 1

1

您可以使用HttpWebRequest将 PUT 请求发送到服务或更新的HttpClientapi

请参阅下面的示例。

var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-Auth_User", "your_username");
client.DefaultRequestHeaders.Add("X-Auth-Key", "your_api_key");

 client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("image/pjpeg"));

var bytes = File.ReadAllBytes(imagePath);
var ms = new MemoryStream(bytes);

 client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("image/pjpeg"));
 var content = new StreamContent(ms);


 var response = client.PutAsync("YOUR_RACKSPACE_URI", content);
于 2013-03-31T23:10:58.410 回答