Ejemplo n.º 1
0
        public async Task <IActionResult> Download([FromRoute] string fileName)
        {
            var file = await readFileService.ReadFile(fileName).ConfigureAwait(false);

            if (file == null)
            {
                return(NotFound());
            }

            //TODO: Get document and get proper file name

            return(File(file.Bytes, file.ContentType ?? "application/octet-stream"));
        }
Ejemplo n.º 2
0
        public async Task <byte[]?> GetImageAsync(string fileName,
                                                  int?width = null, int?height = null, bool cover = false, int?quality = null)
        {
            quality = quality ?? compressionQuality;
            var cmsFile = await readFileService.ReadFile(fileName).ConfigureAwait(false);

            if (cmsFile == null)
            {
                return(null);
            }

            // Read from stream.
            using (var image = Image.Load(Configuration.Default, cmsFile.Bytes, out var format))
            {
                if (cover)
                {
                    CropImage(image, width, height);
                }
                else
                {
                    ResizeImage(image, width, height);
                }

                using (var output = new MemoryStream())
                {
                    if (format.DefaultMimeType == JpegFormat.Instance.DefaultMimeType)
                    {
                        image.SaveAsJpeg(output, new JpegEncoder
                        {
                            Quality   = quality,
                            Subsample = JpegSubsample.Ratio444
                        });
                    }
                    else
                    {
                        image.Save(output, format);
                    }

                    // store in cache

                    var result = output.ToArray();
                    return(result);
                }
            }

            throw new Exception("You did it wrong. Find help. Or don't.");
        }
Ejemplo n.º 3
0
        void ReadFiles()
        {
            try
            {
                foreach (var item in _filePath)
                {
                    if (_token.IsCancellationRequested)
                    {
                        _token.ThrowIfCancellationRequested();
                    }

                    var result = _readFile.ReadFile(item);
                    _updateGrid(result);
                    _filesSize.Add(result);
                }
            }
            catch (OperationCanceledException ex)
            {
                _cancelMessage("Прервано пользователем");
            }
        }
Ejemplo n.º 4
0
 public Task <CmsFile?> ReadFile(string fileName)
 {
     return(readFileProvider.ReadFile(fileName));
 }
Ejemplo n.º 5
0
 public void ReadFile(string fileName)
 {
     readFileService.ReadFile(fileName);
 }