Click or drag to resize

IItemContentAsyncGetWriteStreamAsync Method (String, Int64, String)

IT Hit WebDAV Classes Reference
Saves files's content to WebDAV server.

Namespace:  ITHit.WebDAV.Client
Assembly:  ITHit.WebDAV.Client (in ITHit.WebDAV.Client.dll) Version: 2.0.420.0
Syntax
Task<Stream> GetWriteStreamAsync(
	string contentType,
	long contentLength,
	string lockToken
)

Parameters

contentType
Type: SystemString
Media type of the file.
contentLength
Type: SystemInt64
Length of data to be written.
lockToken
Type: SystemString
Lock token for this file.

Return Value

Type: TaskStream
Stream to write file content.
Exceptions
ExceptionCondition
NotFoundExceptionThis resource doesn't exist on the server.
ConflictException The resource is version controlled and has to be checked out to be edited.
WebDavHttpExceptionServer returned unknown error.
WebDavExceptionUnexpected error occurred.
Examples
string license = "<?xml version='1.0' encoding='utf...
WebDavSessionAsync session = new WebDavSessionAsync(license);
session.Credentials = new NetworkCredential("User1", "pwd");
IFolderAsync folder = session.OpenFolder(new Uri("http://server:8080/Sales"));
FileInfo file = new FileInfo("C:\\Products.exe");
LockInfo lockInfo = folder.Lock(LockScope.Exclusive, true, "User 1", new TimeSpan(0, 30, 0));
IFileAsync file = folder.CreateResource(file.Name, lockInfo.LockToken.LockToken);
using (Stream webStream = file.GetWriteStream(
    "application/octet-stream", file.Length, lockInfo.LockToken.LockToken))
{
    int bufSize = 1048576; // 1Mb
    byte[] buffer = new byte[bufSize];
    int bytesRead = 0;

    using (FileStream fileStream = file.Open(FileMode.Open, FileAccess.Read, FileShare.Read))
    {
        while ( (bytesRead = fileStream.Read(buffer, 0, bufSize))>0)
            webStream.Write(buffer, 0, bytesRead);
    }
}
folder.Unlock(lockInfo.LockToken.LockToken);
See Also