Click or drag to resize

IItemContentGetWriteStream 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
Stream GetWriteStream(
	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: Stream
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...
WebDavSession session = new WebDavSession(license);
session.Credentials = new NetworkCredential("User1", "pwd");
IFolder 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));
IFile 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