コード例 #1
0
        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")));
            }
        }
コード例 #2
0
        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")));
            }
        }
コード例 #3
0
 public FileHelperActionResult(FileHelperActionStatus status, FileInfo fileInfo, FileHelperException exception)
 {
     Status    = status;
     Exception = exception;
     FileInfo  = fileInfo;
 }
コード例 #4
0
 public FileHelperActionResult(FileHelperActionStatus status, FileHelperException exception) : this(status, null, exception)
 {
 }