Rackspace cloud file c #, добавление файлов в каталог - PullRequest
0 голосов
/ 28 июня 2011

Добавление файлов в конкретный каталог с помощью облачных файлов в стойке, привязки c # 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...");
    }

Presuming MyPath = "Funky";

Это добавляет файлы примерно так:

  • Funky / Image1.jpg
  • Фанки / Image5.png
  • ...

Я мог бы получить путь к файлу с помощью Path.GetFileName(filepath) и вернуть его в представление, но я хочу знать, что мои файлы не хранятся в каталоге «Funky», вместо этого фактическое имя файла называется "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;
        }

Также обратите внимание: я должен использовать этот фильтр, чтобы убедиться, что я не вернул папку с файлами ...

.Where(x => Path.HasExtension(x));

1 Ответ

1 голос
/ 28 июня 2011

Потому что это плоская файловая система ...

...