public async Task <ActionResult <UserLocationViewModel> > UploadFileAsync([FromForm] IFormFile file) { var userId = Guid.NewGuid().ToString(); var response = new UserLocationViewModel { Id = userId }; if (file == null) { return(BadRequest("No file has been uploaded.")); } if (!IsFileLengthValid(file)) { return(BadRequest("File size exceeded configured limit.")); } try { using (Stream stream = new MemoryStream()) { await file.CopyToAsync(stream); stream.Position = 0; await azureBlobService.UploadFile(userId, stream); await locationCreatedSender.SendMessageAsync(new LocationsCreatedMessage { UserId = userId }); } } catch (Exception ex) { throw new Exception("Processing of uploaded file failed.", ex); } return(response); }
public async Task <IActionResult> Create([Bind("NomeProduto,Preco,FotoProdutoURL,Id")] Produto produto) { if (ModelState.IsValid) { //produto.Id = Guid.NewGuid(); _context.Add(produto); //==== Upload da foto do Cliente ==== for (int i = 0; i < Request.Form.Files.Count; i++) { var file = Request.Form.Files[i]; var blobService = new AzureBlobService(); produto.FotoProdutoURL = blobService.UploadFile(file.FileName, file.OpenReadStream(), "jennyfer", file.ContentType); } //=================================== await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(produto)); }