private static FileHelperActionResult Save(string path, Stream stream, string fileExtension) { try { var filename = Guid.NewGuid().ToString(); fileExtension = GetValidExtension(fileExtension); filename = filename + fileExtension; var route = path + "/" + filename; var file = new byte[stream.Length]; stream.Read(file, 0, file.Length); File.WriteAllBytes(route, file); return(new FileHelperActionResult(FileHelperActionStatus.Successful, new Entities.FileInfo { Extension = fileExtension, Name = filename, Path = route, Size = file.Length })); } catch (Exception) { return(new FileHelperActionResult(FileHelperActionStatus.Undefine, FileHelperException.GetInstance("uex-1"))); } }
private static FileHelperActionResult TrySavingFile(string path, Stream stream, string fileExtension, IEnumerable <string> allowedFilesExtensions, int maxFileSize) { if (stream == null) { throw new NullReferenceException("stream"); } if (!IsMaxFileSizeExceeded(stream.Length, maxFileSize)) { if (IsFileExtensionAllowed(fileExtension, allowedFilesExtensions)) { return(Save(path, stream, fileExtension)); } else { return(new FileHelperActionResult(FileHelperActionStatus.Error, FileHelperException.GetInstance("uex-2"))); } } else { return(new FileHelperActionResult(FileHelperActionStatus.Error, FileHelperException.GetInstance("uex-3"))); } }