public byte[] Load(MediaFile mediaFile)
        {
            Guard.NotNull(mediaFile, nameof(mediaFile));

            var filePath = GetPath(mediaFile);

            return(_fileSystem.ReadAllBytes(filePath) ?? new byte[0]);
        }
Пример #2
0
        public byte[] Load(MediaItem media)
        {
            Guard.NotNull(media, nameof(media));

            var filePath = GetPicturePath(media);

            return(_fileSystem.ReadAllBytes(filePath) ?? new byte[0]);
        }
        private void GetImageSize(string path, out int width, out int height)
        {
            width = height = 0;

            var size = _pictureService.Value.GetPictureSize(_fileSystem.ReadAllBytes(path));

            width  = size.Width;
            height = size.Height;
        }
        private void DownloadDir(string path)
        {
            path = GetRelativePath(path);
            if (!_fileSystem.FolderExists(path))
            {
                throw new Exception(LangRes("E_CreateArchive"));
            }

            var folder = _fileSystem.GetFolder(path);

            // copy files from file storage to temp folder
            var tempDir = FileSystemHelper.TempDirTenant("roxy " + folder.Name);

            FileSystemHelper.ClearDirectory(tempDir, false);
            var files = GetFiles(path, null);

            foreach (var file in files)
            {
                var bytes = _fileSystem.ReadAllBytes(file.Path);
                if (bytes != null && bytes.Length > 0)
                {
                    System.IO.File.WriteAllBytes(Path.Combine(tempDir, file.Name), bytes);
                }
            }

            // create zip from temp folder
            var tempZip = Path.Combine(FileSystemHelper.TempDirTenant(), folder.Name + ".zip");

            FileSystemHelper.DeleteFile(tempZip);

            ZipFile.CreateFromDirectory(tempDir, tempZip, CompressionLevel.Fastest, false);

            Response.Clear();
            Response.Headers.Add("Content-Disposition", "attachment; filename=\"" + folder.Name + ".zip\"");
            Response.ContentType = "application/zip";
            Response.TransmitFile(tempZip);
            Response.Flush();

            FileSystemHelper.DeleteFile(tempZip);
            FileSystemHelper.ClearDirectory(tempDir, true);

            Response.End();
        }