Skip to content
Itay Sagui edited this page Nov 19, 2020 · 1 revision

WebDAVClient supports a variety of operations

List

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    // List items in the root folder
    var files = await c.List();

List within a folder

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    // List items in the root folder
    var files = await c.List("/folder");

Get a folder

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    // List items in the root folder
    var files = await c.Get("/folder");

Create a folder

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    var tempFolderName = Path.GetRandomFileName();
    var isfolderCreated = await client.CreateDir("/", tempFolderName);

Delete a folder

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    var isfolderCreated = await client.DeleteFolder("/folder-ref");

Download a file

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    var tempFileName = Path.GetTempFileName();

    // Download item into a temporary file
    using (var tempFile = File.OpenWrite(tempFileName))
    using (var stream = await c.Download("/file-ref"))
    {
        await stream.CopyToAsync(tempFile);
    }

Download part of a file

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    var tempFileName = Path.GetTempFileName();

    // Download item into a temporary file
    int startByte = 1024;
    int endByte = 1280;
    using (var tempFile = File.OpenWrite(tempFileName))
    using (var stream = await c.DownloadPartial("/file-ref", startByte, endByte))
    {
        await stream.CopyToAsync(tempFile);
    }

Upload a file

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    using (var fileStream = File.OpenRead("file-to-upload.txt"))
    {
        var fileUploaded = await c.Upload("/", fileStream, "file-to-upload.txt");
    }

Upload part of a file

    IClient client = new Client(new NetworkCredential { UserName = "USERNAME" , Password = "PASSWORD"});
    client.Server = "https://webdav-server/";

    int startByte = 1024;
    int endByte = 1280;
    using (var fileStream = File.OpenRead("file-to-upload.txt"))
    {
        var fileUploaded = await c.UploadPartial("/", fileStream, "file-to-upload.txt", startByte, endByte);
    }

Clone this wiki locally