Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用openstack.net从Rackspace上的CloudFiles获取jpg文件_C#_Openstack_Rackspace Cloud - Fatal编程技术网

C# 如何使用openstack.net从Rackspace上的CloudFiles获取jpg文件

C# 如何使用openstack.net从Rackspace上的CloudFiles获取jpg文件,c#,openstack,rackspace-cloud,C#,Openstack,Rackspace Cloud,我正在asp.net mvc项目的控制器中运行以下代码。我希望使用户能够查看或下载我存储在rackspace上的云文件中的文件 var identity = new CloudIdentity() { Username = "username", APIKey = "apikey" }; var storage = new Clo

我正在asp.net mvc项目的控制器中运行以下代码。我希望使用户能够查看或下载我存储在rackspace上的云文件中的文件

        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文件下载


我这样做对吗?知道问题是什么吗?

在我添加以下内容后,问题已解决:

        jpgStream.Position = 0;
        pdfStream.Position = 0;
在调用File()之前。根据问题:


我不知道为什么这不是pdf文件的问题。

您也可以使用GetObjectSaveToFile方法。

这正是我自己处理流的方式: