Rackspace云文件c#,将文件添加到目录

时间:2011-06-28 13:37:56

标签: c# asp.net-mvc-2 filepath rackspace-cloud

使用rackspace云文件将文件添加到特定目录,c#bindings api更具体地参考:https://github.com/rackspace/csharp-cloudfiles

出于某种奇怪的原因做了类似的事情:

    public static void UploadFile(CSImageDTO file)
    {
        var connection = new Connection(UserCredentials);
        var containerItemList = connection.GetContainerItemList(ContainerName);

        if (!containerItemList.Contains(file.Filename))
            connection.PutStorageItem(ContainerName, file.File, Path.Combine(MyPath, Path.GetFileName(file.Filename)));
        else
            throw new NotSupportedException("we dont know what to do now...");
    }

假设MyPath =“Funky”;

这会添加如下文件:

  • Funky / Image1.jpg
  • 时髦/ Image5.png
  • ...

我可以使用Path.GetFileName(filepath)获取文件路径并将其返回到视图,但我想知道我的文件未存储在“Funky”目录下,而是实际文件名称为{{1} }?或者似乎使用我的代码:

"Funky/Image1.png"

另请注意:我必须使用此过滤器以确保我没有得到文件夹...

 public static IEnumerable<string> GetFiles()
        {
            var connection = new Connection(UserCredentials);

            var parameters = new Dictionary<GetItemListParameters, string>();
            //parameters.Add(GetItemListParameters.Path, MyPath);

            var containerItemList = connection.GetContainerItemList(ContainerName, parameters)
                .Where(x => Path.HasExtension(x));
            //.Select(x => Path.GetFileName(x));

            return containerItemList;
        }

1 个答案:

答案 0 :(得分:1)

因为它是一个平面文件系统......