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
)
Public Function GetFileAsync (
path As Uri,
Optional headers As IDictionary(Of String, String) = Nothing,
Optional cancellationToken As CancellationToken = Nothing
) As Task(Of IFile)
public:
virtual Task<IFile^>^ GetFileAsync(
Uri^ path,
IDictionary<String^, String^>^ headers = nullptr,
CancellationToken cancellationToken = nullptr
) sealed
abstract GetFileAsync :
path : Uri *
?headers : IDictionary<string, string> *
?cancellationToken : CancellationToken
(* Defaults:
let _headers = defaultArg headers null
let _cancellationToken = defaultArg cancellationToken null
*)
-> Task<IFile>
override GetFileAsync :
path : Uri *
?headers : IDictionary<string, string> *
?cancellationToken : CancellationToken
(* Defaults:
let _headers = defaultArg headers null
let _cancellationToken = defaultArg cancellationToken null
*)
-> Task<IFile>
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:
TaskIFileFile corresponding to requested path.
Implements
ISessionGetFileAsync(Uri, IDictionaryString, String, CancellationToken)Exceptions 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;
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