Namespace: ITHit.WebDAV.Client
Exception | Condition |
---|---|
MethodNotAllowedException | Item with specified name already exists. |
ForbiddenException | Creation of child items not allowed. |
NotFoundException | This folder doesn't exist on the server. |
LockedException | This folder is locked and no or invalid lock token was specified. |
WebDavHttpException | Server returned unknown error. |
WebDavException | Unexpected error occurred. |
string license = "<?xml version='1.0' encoding='utf... WebDavSessionAsync session = new WebDavSessionAsync(license); session.Credentials = new NetworkCredential("User1", "pwd"); IFolderAsync folder = await session.OpenFolderAsync(new Uri("http://server:8080/Sales")); FileInfo file = new FileInfo("C:\\Products.exe"); LockInfo lockInfo = await folder.LockAsync(LockScope.Exclusive, true, "User 1", new TimeSpan(0, 30, 0)); IFileAsync file = await folder.CreateFileAsync(file.Name, lockInfo.LockToken.LockToken); using (Stream webStream = await file.GetWriteStreamAsync( "application/octet-stream", file.Length, lockInfo.LockToken.LockToken)) { int bufSize = 1048576; // 1Mb byte[] buffer = new byte[bufSize]; int bytesRead = 0; using (FileStream fileStream = await file.OpenAsync(FileMode.Open, FileAccess.Read, FileShare.Read)) { while ( (bytesRead = await fileStream.ReadAsync(buffer, 0, bufSize))>0) await webStream.WriteAsync(buffer, 0, bytesRead); } } folder.Unlock(lockInfo.LockToken.LockToken);