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); } }
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")); }
/// <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); }