Ejemplo n.º 1
0
        public async Task <ActionResult> FileUploads(IFormFileCollection files, CancellationToken cancellationToken = default)
        {
            if (files.Count == 0)
            {
                files = Request.Form.Files;
            }
            if (files.Count == 0)
            {
                return(BadRequest("No files detected"));
            }
            // convert to pdfs
            using var scope = _serviceProvider.CreateScope();
            var pdfProcessor  = scope.ServiceProvider.GetRequiredService <IPdfProcessor>();
            var filesToUpload = await pdfProcessor.RenderPdfs(files, cancellationToken);

            var concurrentCollection = new StreamConcurrentCollection(filesToUpload);
            await _bucketRepository.UploadFiles(_awsSetting.BucketName, concurrentCollection, cancellationToken);

            //TempData["files"] = JsonConvert.SerializeObject(filesToUpload);
            _bucketRepository.Dispose();
            concurrentCollection.Dispose();
            concurrentCollection.Clear();
            var result = filesToUpload.Select(f => f.Name).ToList();

            return(Ok(result));
            //return RedirectToAction("UploadComplete");
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> UploadFile([FromBody] FileInfo fileInfo)
        {
            var result = await _bucketRepository.UploadFiles(fileInfo);

            if (result.IsSuccess)
            {
                return(Ok("Success"));
            }
            else
            {
                return(BadRequest("Error: " + result.Error));
            }
        }