如何使用Azure Storage SDK将Azure文件存储上的文件从一个子文件夹移动到另一个子文件夹?

Pur*_*ome 7 .net c# azure azure-storage azure-storage-files

我正在尝试弄清楚如何将Azure文件存储中的文件从一个位置移动到同一个共享中的另一个位置.

例如

source -> \\Share1\someFile.txt
destination -> \\Share1\Foo\Bar\someFile.txt
Run Code Online (Sandbox Code Playgroud)
  • 我是否需要先复制文件,然后删除源文件?
  • 如果目标子目录不存在怎么办?我需要先CreateIfNotExistsAsync为每个子目录吗?

干杯!

小智 6

在Azure存储文件参考的入门指南中有说明.

您需要的是将StartCopy文件从一个位置复制到另一个位置的方法.

// Start the copy operation.
destinationFile.StartCopy(sourceFile);
Run Code Online (Sandbox Code Playgroud)

并且,是的,如果目标目录不存在,则必须创建目标目录.


Jer*_*xon 6

像这样:

public static void MoveTo(this CloudFile source, CloudFileDirectory directory)
{
    var target = directory.GetFileReference(source.Name);
    target.StartCopy(source);
    source.Delete();
}
Run Code Online (Sandbox Code Playgroud)