Namespace: ITHit.WebDAV.Client
Task<ContentStream> GetReadStreamAsync( long startIndex, long count, string eTag ) Task<ContentStream> GetReadStreamAsync( long startIndex, long count, string eTag )
Exception | Condition |
---|---|
NotFoundException | This resource doesn't exist on the server. |
WebDavHttpException | Server returned unknown error. |
WebDavException | Unexpected error occurred. |
Loads part of the content of the file from WebDAV server if it's content was not changed. If the content was modified the complete new content is returned.
string license = "<?xml version='1.0' encoding='utf... WebDavSession session = new WebDavSession(license); session.Credentials = new NetworkCredential("User1", "pwd"); IFolder folder = await session.GetFolderAsync(new Uri("https://server:8080/Sales")); FileInfo file = new FileInfo("C:\\Temp\\Products.cff"); IFile file = await folder.GetResourceAsync(file.Name); string etag = file.Etag; int bufSize = 1048576; // 1Mb byte[] buffer = new byte[bufSize]; int totalWritten = 10; using (ContentStream stream = await file.GetReadStreamAsync(totalWritten, resource.ContentLength, etag, out contentModified)) { if (stream.ContentModified) totalWritten = 0; // entire file content is returned using (FileStream fs = file.OpenWrite()) { fs.Seek(totalWritten, SeekOrigin.Begin); int bytesRead; while ((bytesRead = (await stream.ReadAsync(buffer, 0, bufSize))) > 0) await fs.WriteAsync(buffer, 0, bytesRead); } }