我有一个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. 如何在队列中使用异常
谢谢唐的答复,其实这不是我问。我问的是异步发送文件/队列不是普通的方式。不管怎样,谢谢你 :) –