Click or drag to resize

WebDavSessionGetFileAsync Method (Uri, IDictionaryString, String, CancellationToken)

IT Hit WebDAV Classes Reference
Returns IFile corresponding to path.

Namespace:  ITHit.WebDAV.Client
Assembly:  ITHit.WebDAV.Client (in ITHit.WebDAV.Client.dll) Version: 6.0.4052-Beta
Syntax
public Task<IFile> GetFileAsync(
	Uri path,
	IDictionary<string, string> headers = null,
	CancellationToken cancellationToken = null
)

Parameters

path
Type: SystemUri
Path to the file.
headers (Optional)
Type: System.Collections.GenericIDictionaryString, String
Request headers.
cancellationToken (Optional)
Type: System.ThreadingCancellationToken
Propagates notification that operations should be canceled.

Return Value

Type: TaskIFile
File corresponding to requested path.

Implements

ISessionGetFileAsync(Uri, IDictionaryString, String, CancellationToken)
Exceptions
ExceptionCondition
UnauthorizedExceptionIncorrect credentials provided or insufficient permissions to access the requested item.
NotFoundExceptionThe requested resource doesn't exist on the server.
ForbiddenExceptionThe server refused to fulfill the request.
WebDavExceptionUnexpected error occurred.
Examples
In the following example a file is downloaded from a WebDAV server.
string license = "<?xml version='1.0' encoding='utf...
WebDavSessionAsync session = new WebDavSessionAsync(license);
session.Credentials = new NetworkCredential("User1", "pwd");

IFile davFile = await session.GetFileAsync("https://server:8080/Products/image.gif");
using (Stream webStream = await davFile.GetReadStreamAsync())
{
    int bufSize = 1048576; // 1Mb
    byte[] buffer = new byte[bufSize];
    int bytesRead = 0;
    using (FileStream fileStream = File.OpenWrite(davFile.DisplayName))
    {
        while ((bytesRead = await webStream.ReadAsync(buffer, 0, bufSize)) > 0)
            await fileStream.WriteAsync(buffer, 0, bytesRead);
    }
}
See Also