我有一個ASP.Net MVC項目,我需要上傳文件到RackSpace CloudFiles異步或使用隊列功能在那裏的API,有沒有任何它的例子?我沒有在openstack.net文檔和C#代碼示例中找到它。RackSpace CloudFiles如何使用異步或隊列發送文件使用C#
0
A
回答
1
在寫作沒有.NET庫提供異步上傳文件的Rackspace的雲文件的時間。 但是,有一個承諾,即openstack.net的V2將提供異步支持。
您可以使用HttpClient的現在:
public static async Task<bool> UploadFileAsync(string filepath, string container, string filename)
{
var httpClient = new HttpClient();
var requestMessage = new HttpRequestMessage(HttpMethod.Post,
@"https://identity.api.rackspacecloud.com/v2.0/tokens")
{
Content = new StringContent(
@"{
""auth"": {
""RAX-KSKEY:apiKeyCredentials"": {
""username"": ""username"",
""apiKey"": ""apikey""
}
}
}")
};
requestMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
var response = await httpClient.SendAsync(requestMessage);
var responseContent = await response.Content.ReadAsStringAsync();
var obj = JObject.Parse(responseContent);
var tokenId = obj.SelectToken("access.token.id").ToObject<string>();
var endpointPublicURL = obj.SelectToken("access.serviceCatalog[?(@.name == 'cloudFiles')].endpoints[0].publicURL");
var fileBytes = File.ReadAllBytes(filepath);
using (var httpContent = new ByteArrayContent(fileBytes))
{
httpContent.Headers.Add("X-Auth-Token", tokenId);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg");
httpContent.Headers.ContentLength = fileBytes.LongLength;
var result = await httpClient.PutAsync(endpointPublicURL + "/" + container + "/" filename, httpContent);
}
return true;
}
0
穆罕默德 -
雖然不是異步的,我有一個MVC 4的例子,說明如何在上傳過程中顯示進度條。
它今天早上做了。你可以在這裏找到它:
https://github.com/DonSchenck/ProgressBarMVC4
讓我知道如果這能幫助,或者如果你需要更多。
一切順利,
- 唐·申克,OpenStack.NET開發倡導者,Rackspace公司
相關問題
- 1. 使用RackSpace Cloudfiles與Paperclip gem
- 2. 如何使用openstack.net在Rackspace上從CloudFiles獲取jpg文件
- 3. 我如何使用api從Rackspace的Cloudfiles中刪除文件?
- 4. 如何使用Rackspace CloudFiles .NET API設置文件過期標題
- 5. 如何使用Rackspace CloudFiles設置文件過期標題PHP API
- 6. 春天 - 異步隊列發送郵件
- 7. 使用C#API從Rackspace CloudFiles CDN啓用容器檢索圖像
- 8. 使用Spring Jms問題異步發送到隊列
- 9. 如何使用隊列發送數據?
- 10. 如何使用boto將文件從Amazon S3流式傳輸到Rackspace Cloudfiles?
- 11. Rackspace CloudFiles:檢查文件的存在
- 12. 使用Flask-Security發送異步郵件
- 13. 如何使用Azure存儲隊列發送XML文件?
- 14. 如何使用TextMessage將XML文件發送到JMS隊列?
- 15. 如何使使用隊列線程安全的異步方法
- 16. 如何使用node.js發送文件
- 17. C#異步發送
- 18. 如何使用Celery在Django中發送異步電子郵件?
- 19. 如何使用mail_form gem和sidekiq發送異步郵件?
- 20. 如何使用spring在網絡上發送異步郵件
- 21. 阿帕奇LibCloud和Rackspace Cloudfiles
- 22. Rackspace cloudfiles API相當慢
- 23. 使用Rackspace上傳文件
- 24. 使用隊列方法發送郵件,但它直接發送
- 25. 使用C++異步加載大文件
- 26. 使用C#5.0異步讀取文件
- 27. CloudFiles - C#
- 28. 使用Laravel的隊列發送消息
- 29. 如何發送使用C#
- 30. 如何在隊列中使用異常
謝謝唐的答覆,其實這不是我問。我問的是異步發送文件/隊列不是普通的方式。不管怎樣,謝謝你 :) –