BetterCms.Module.MediaManager.Services.DefaultMediaImageService.UploadImageWithStream C# (CSharp) Метод

UploadImageWithStream() публичный Метод

public UploadImageWithStream ( Stream fileStream, BetterCms.Module.MediaManager.Models.MediaImage image, bool waitForUploadResult = false ) : BetterCms.Module.MediaManager.Models.MediaImage
fileStream Stream
image BetterCms.Module.MediaManager.Models.MediaImage
waitForUploadResult bool
Результат BetterCms.Module.MediaManager.Models.MediaImage
        public MediaImage UploadImageWithStream(Stream fileStream, MediaImage image, bool waitForUploadResult = false)
        {
            using (var thumbnailFileStream = new MemoryStream())
            {
                fileStream = RotateImage(fileStream);
                var size = GetSize(fileStream);

                CreatePngThumbnail(fileStream, thumbnailFileStream, ThumbnailSize);

                var folderName = mediaFileService.CreateRandomFolderName();
                var publicFileName = MediaHelper.RemoveInvalidPathSymbols(MediaImageHelper.CreatePublicFileName(image.OriginalFileName, image.OriginalFileExtension));

                // Create new original image and upload file stream to the storage
                var originalImage = CreateImage(null, image.OriginalFileName, image.OriginalFileExtension, Path.GetFileName(image.Title), size, image.Size, image);
                SetThumbnailParameters(originalImage, ThumbnailSize, thumbnailFileStream.Length);
                mediaImageVersionPathService.SetPathForNewOriginal(originalImage, folderName, publicFileName, ImageHelper.GetImageType(image.OriginalFileExtension));

                unitOfWork.BeginTransaction();
                repository.Save(originalImage);

                if (!waitForUploadResult)
                {
                    unitOfWork.Commit();
                }

                StartTasksForImage(originalImage, fileStream, thumbnailFileStream, false, waitForUploadResult);

                if (waitForUploadResult)
                {
                    unitOfWork.Commit();
                    Events.MediaManagerEvents.Instance.OnMediaFileUpdated(originalImage);
                }

                return originalImage;
            }
        }