public bool PostFile(string fileName, long fileSize, string buf, int bufLen) { FileStream fl = null; long fSize; try { byte [] bbuf = CConvert.FromBase64ToBytes(buf); if (bbuf.Length != bufLen) { CLog.stWriteLog(CLog.LogSeverityLevels.lslError, this, String.Format(fileName + " : Buffer length not equal with parameter {0} > {1}", bbuf.Length, bufLen)); return(false); } if (CIO.FileExists(fileName)) { fl = File.Open(fileName, FileMode.Append, FileAccess.Write, FileShare.Read); FileInfo fi = new FileInfo(fileName); fSize = fi.Length; } else { fl = File.Create(fileName); fSize = 0; } if ((fSize + bbuf.Length) > fileSize) { CLog.stWriteLog(CLog.LogSeverityLevels.lslError, this, String.Format(fileName + " : The received size of the data will exceed the specified size of a file {0} : {1}", (fSize + bbuf.Length), fileSize)); return(false); } fl.Write(bbuf, 0, bbuf.Length); return(true); } catch (Exception ex) { CLog.stLogException(new Exception("PostFile:", ex)); return(false); } finally { if (fl != null) { fl.Close(); } } }