public async Task <IActionResult> PostJson([FromBody] Base64ImageModel[] imageInfos) { try { //Save File foreach (var imageInfo in imageInfos) { await _imageService.FileCheck(imageInfo); var dbModel = new ImageDbModel() { FileName = imageInfo.fileName, AddedDate = DateTime.Now, ImageData = imageInfo.data, PreviewData = resizer.Resize(imageInfo.data), }; await _imageService.Save(dbModel, _dbContext); } } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500)); } return(Ok()); }
public async Task <IActionResult> PostForm(IFormCollection dataCollection) { try { if (dataCollection.Files.Count == 0) { return(BadRequest("Request has no files")); } foreach (var formFile in dataCollection.Files) { await using (var stream = new MemoryStream(2048)) { //Get data from stream await formFile.CopyToAsync(stream); var content = stream.ToArray(); //Check and save await _imageService.FileCheck(new Models.FileInformation() { fileName = formFile.FileName, data = content }); ImageDbModel model = new ImageDbModel() { FileName = formFile.FileName, AddedDate = DateTime.Now, ImageData = content, PreviewData = resizer.Resize(content), }; await _imageService.Save(model, _dbContext); } } } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500)); } return(Ok()); }
public async Task <IActionResult> PostFromUrl([Url] string url, string fileName) { if (string.IsNullOrEmpty(url)) { return(BadRequest()); } Uri uri = new Uri(url); try { using var client = new WebClient(); var imageBytes = await client.DownloadDataTaskAsync(uri); Models.FileInformation imageInfo = new Models.FileInformation() { fileName = fileName ?? Path.GetFileName(url), data = imageBytes }; await _imageService.FileCheck(imageInfo); ImageDbModel model = new ImageDbModel() { FileName = imageInfo.fileName, AddedDate = DateTime.Now, ImageData = imageBytes, PreviewData = resizer.Resize(imageBytes), }; await _imageService.Save(model, _dbContext); return(Ok()); } catch (ArgumentException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { _logger.LogError(ex.Message); return(StatusCode(500)); } }
public async Task Save(ImageDbModel imageModel, ImageContext context) { await context.Images.AddAsync(imageModel); await context.SaveChangesAsync(); }
public async Task Save(ImageDbModel model, ImageContext dbContext) { await _saver.Save(model, dbContext); }