使用 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";
这会添加如下文件:
- 时髦/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));