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