public void GetFilesAndTinify(string pathForFolder, List <TImage> nonOptimizedImages = null,
                                      bool tinifyEverything = false)
        {
            var fileSystem = _fileSystemProviderRepository.GetFileSystem();

            if (fileSystem != null)
            {
                var serverPathForFolder = HostingEnvironment.MapPath(pathForFolder);
                var di    = new DirectoryInfo(serverPathForFolder);
                var files = di.GetFiles();
                IterateFilesAndTinifyFromMediaFolder(pathForFolder, files, nonOptimizedImages, tinifyEverything);
            }
        }
Exemple #2
0
        public IFileSystem GetFileSystem()
        {
            IFileSystem fileSystem = null;

            var fs = _fileSystemProviderRepository.GetFileSystem();

            if (fs != null)
            {
                if (fs.Type == "PhysicalFileSystem")
                {
                    fileSystem = new PhysicalFileSystem("~/media");
                }
                else
                {
                    try
                    {
                        fileSystem = AzureFileSystem.GetInstance(
                            ConfigurationManager.AppSettings["AzureBlobFileSystem.ContainerName:media"],
                            ConfigurationManager.AppSettings["AzureBlobFileSystem.RootUrl:media"],
                            ConfigurationManager.AppSettings["AzureBlobFileSystem.ConnectionString:media"],
                            ConfigurationManager.AppSettings["AzureBlobFileSystem.MaxDays:media"],
                            ConfigurationManager.AppSettings["AzureBlobFileSystem.UseDefaultRoute:media"],
                            ConfigurationManager.AppSettings["AzureBlobFileSystem.UsePrivateContainer:media"]);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                    }
                }
            }

            return(fileSystem ?? new PhysicalFileSystem("~/media"));
        }
Exemple #3
0
        /// <summary>
        /// Get Count of Images
        /// </summary>
        /// <returns>Number of Images</returns>
        public int AmountOfItems()
        {
            var numberOfImages = 0;
            var fileSystem     = _fileSystemProviderRepository.GetFileSystem();

            if (fileSystem != null)
            {
                if (fileSystem.Type.Contains("PhysicalFileSystem"))
                {
                    numberOfImages = Directory
                                     .EnumerateFiles(HostingEnvironment.MapPath("/media/"), "*.*", SearchOption.AllDirectories)
                                     .Count(file => !file.ToLower().EndsWith("config"));
                }
                else
                {
                    _blobStorage.SetDataForBlobStorage();
                    if (_blobStorage.DoesContainerExist())
                    {
                        numberOfImages = _blobStorage.CountBlobsInContainer();
                    }
                }
            }

            return(numberOfImages);
        }
        private byte[] GetImageBytesFromPath(TImage tImage, IFileSystem fs, string path)
        {
            byte[] imageBytes;
            var    fileSystem = _fileSystemProviderRepository.GetFileSystem();

            if (fileSystem != null)
            {
                if (fileSystem.Type.Contains("PhysicalFileSystem"))
                {
                    path = fs.GetRelativePath(tImage.AbsoluteUrl);
                }
            }

            using (var file = fs.OpenFile(path))
            {
                imageBytes = SolutionExtensions.ReadFully(file);
            }

            return(imageBytes);
        }