public async Task <IActionResult> Upload() { try { var file = Request.Form.Files[0]; var extension = Path.GetExtension(file.FileName); //nakon ove 2 linije dobije se putanja //D://.........Resources/Site if (file.Length > 0) { var email = HttpContext.Request.Form["email"]; var type = HttpContext.Request.Form["type"]; var name = HttpContext.Request.Form["name"]; var user = _context.Users.ToList().FirstOrDefault(x => x.Email == email); String fileName = "", folderName = "", pathToSave = ""; if (type == "profilePicture") { //ako je u pitanju user koji menja profilnu hasujemo njegovu sliku na osnovu njegovog emaila kako bismo dobili //jedinstveni naziv slike na serveru da ne bi doslo do gazenja fileName = Hash(email) + extension; folderName = Path.Combine("Resources", "Users"); pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName); user.Image = fileName; _context.Users.Update(user); await _context.SaveChangesAsync(); } else { /*ako je admin u pitanju*/ fileName = name + extension; //admin zadaje ime, kakvo je ime usluge tako je i ime slike, tako se i potrazuje folderName = Path.Combine("Resources", "Site"); pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName); //pozivam servis za dodavanje servisa await _airlineService.CreateAvailableService(new AvailableService() { Icon = fileName, Name = name, Status = true }); } //smestam sliku na lokaciju var fullPath = Path.Combine(pathToSave, fileName); var dbPath = Path.Combine(folderName, fileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } return(Ok(new { dbPath })); } else { return(BadRequest()); } }catch (Exception e) { return(StatusCode(500, $"Internal server eror: {e}")); } }
public async Task <bool> CreateAvailableService(AvailableService availableService) { return(await _service.CreateAvailableService(availableService)); }