我正在asp.net mvc项目中的控制器中运行以下代码。我想让用户查看或下载我存储在Rackspace Cloud文件上的文件。如何使用openstack.net在Rackspace上从CloudFiles获取jpg文件
var identity =
new CloudIdentity()
{
Username = "username",
APIKey = "apikey"
};
var storage = new CloudFilesProvider(identity);
Stream jpgStream = new MemoryStream();
storage.GetObject("files.container", "1.jpg", jpgStream);
Stream pdfStream = new MemoryStream();
storage.GetObject("files.container", "2.pdf", pdfStream);
var jpgResult = File(jpgStream, "Image/jpg", "1.jpg");
var pdfResult = File(pdfStream, "Application/pdf", "2.pdf");
上面的代码在我返回pdfResult时有效。我得到正确的文件。但是当我返回jpgResult时,浏览器将1.jpg作为一个空的0KB文件下载。
我这样做是正确的吗?任何想法可能是什么问题?
这正是我自己处理流的方式:https://github.com/openstacknetsdk/openstack.net/blob/master/src/testing/integration/Providers/Rackspace/UserObjectStorageTests.cs#L1292-L1300 –