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