public virtual IDocument AppendFile(IDocument remoteDocument, Stream localFileStream, Transmission transmission, HashAlgorithm hashAlg) {
using (var transmissionStream = transmission.CreateStream(localFileStream))
using (var hashstream = new CryptoStream(transmissionStream, hashAlg, CryptoStreamMode.Read)) {
ContentStream contentStream = new ContentStream();
contentStream.FileName = remoteDocument.Name;
contentStream.MimeType = Cmis.MimeType.GetMIMEType(contentStream.FileName);
contentStream.Stream = hashstream;
try {
return remoteDocument.AppendContentStream(contentStream, true);
} catch(Exception e) {
throw new UploadFailedException(e, remoteDocument);
}
}
}