public IActionResult Cadastrar(IFormCollection form) { Noticia noticia = new Noticia(); noticia.IdNoticia = Int32.Parse(form["idNoticia"]); noticia.Titulo = form["Titulo"]; noticia.Texto = form["Texto"]; // Upload Imagem var file = form.Files[0]; var folder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias"); if (file != null) { if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folder, file.FileName); using (var stream = new FileStream(path, FileMode.Create)) { file.CopyTo(stream); } noticia.Imagem = file.FileName; } else { noticia.Imagem = "padrao.png"; } // Upload Final noticiaModel.Create(noticia); return(LocalRedirect("~/Noticia")); }
/// <summary> /// Cadastra no bd a partir de um form no front. /// </summary> /// <param name="form">Form do front.</param> /// <returns>Retorna para a mesma página após concluir a ação.</returns> public IActionResult Cadastrar(IFormCollection form) { Noticia noticia = new Noticia(); noticia.IdNoticia = Convert.ToInt32(form["IdNoticia"]); noticia.Titulo = form["Titulo"]; noticia.Texto = form["Texto"]; //Aqui começa upload de imagens noticia.Imagem = form["Imagem"]; var file = form.Files[0]; //Esta variável guarda o nome do arquivo da imagem. var folder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias"); //Esta variável combina o caminho do diretório atual com o "wwwroot/img/Noticias", onde ficará a imagem. //Se o usuário enviou alguma imagem.. if (file != null) { //Vai verificar se existe a pasta, se não existir, cria. if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } //Esta variável vai criar e guardar o caminho completo. Note que o Path.Combine ele faz mais do que unir duas variáveis. Por exemplo, se um parâmetro for temp e outro for temp.txt, o path combine será temp.txt. var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folder, file.FileName); //Usando FileStream, passa-se o caminho onde ficará a imagem e cria o arquivo. using (var stream = new FileStream(path, FileMode.Create)) { //Copia o arquivo guardado em "file" para o "stream". file.CopyTo(stream); } //Guarda-se o caminho da imagem no banco de dados. noticia.Imagem = file.FileName; } else //<- Se o usuário não mandar um arquivo, salva-se o seguindo no bd: { noticia.Imagem = "padrao.png"; } //Fim noticiaModel.Create(noticia); //Insere o objeto criado no bd. ViewBag.Noticias = noticiaModel.ReadAll(); //Lê tudo do csv e guarda em uma lista. A ViewBag recebe esta lista. A viewbag é criada aqui. return(LocalRedirect("~/Noticia")); //Está pagina, Noticia, é criada na view, pela sintaxe Razor. }
public IActionResult Cadastrar(IFormCollection _formulario) { // Criando uma nova noticia via formulário Noticia _novaNoticia = new Noticia(); // Passando os dados do formulário para a nova notícia _novaNoticia.IdNoticia = Int32.Parse(_formulario["IdNoticia"]); _novaNoticia.Titulo = _formulario["Titulo"]; _novaNoticia.TextoNoticia = _formulario["TextoNoticia"]; // Tratamento de foto var _filePicture = _formulario.Files[0]; //pegando as imagens passadas no formulário var _folderPicture = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticia"); //Pegando o diretório atual da aplicação e combinar com a foto informada if (_filePicture != null) { // Verificando se o diretório existe if (!Directory.Exists(_folderPicture)) { Directory.CreateDirectory(_folderPicture); } // Combinando o diretório com a foto inserida var _pathPicture = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", _folderPicture, _filePicture.FileName); // Copiando o arquivo presente no computador para o nosso diretório da aplicação using (var _stream = new FileStream(_pathPicture, FileMode.Create)) { _filePicture.CopyTo(_stream); } _novaNoticia.Imagem = _filePicture.FileName; } else { _novaNoticia.Imagem = "padrao.png"; } // Passando a notícia cadastrada pelo formulário para o arquivo .csv _noticiaModel.Create(_novaNoticia); ViewBag.Noticia = _noticiaModel.ReadAll(); // Criando uma rota de acesso para as notícias return(LocalRedirect("~/Noticia")); }
public IActionResult Cadastrar(IFormCollection form) { ViewBag.UserName = HttpContext.Session.GetString("_UserName"); Noticia novaNoticia = new Noticia(); novaNoticia.IdNoticia = Int32.Parse(form["IdNoticia"]); novaNoticia.Titulo = form["Titulo"]; novaNoticia.Texto = form["Texto"]; if (form.Files.Count > 0) { // Upload Início var file = form.Files[0]; var folder = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias"); if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folder, file.FileName); using (var stream = new FileStream(path, FileMode.Create)) { file.CopyTo(stream); } novaNoticia.Imagem = file.FileName; } else { novaNoticia.Imagem = "padrao.png"; } // Upload Final noticiaModel.Create(novaNoticia); ViewBag.Noticias = noticiaModel.ReadAll(); return(LocalRedirect("~/")); }
/// <summary> /// Cadastra notícia no arquivo CSV /// </summary> /// <param name="forms">Arquivo onde serão cadastradas as informações</param> /// <returns>Notícia cadastrada na Página Notícias</returns> public IActionResult CadastrarNoticia(IFormCollection forms) { Noticia novaNoticia = new Noticia(); novaNoticia.IdNoticia = Int32.Parse(forms["IdNoticia"]); novaNoticia.Titulo = forms["Titulo"]; novaNoticia.Texto = forms["Texto"]; // Upload Início var fileN = forms.Files[0]; var folderN = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/Noticias"); if (fileN != null) { if (!Directory.Exists(folderN)) { Directory.CreateDirectory(folderN); } var pathN = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/img/", folderN, fileN.FileName); using (var streamN = new FileStream(pathN, FileMode.Create)) { fileN.CopyTo(streamN); } novaNoticia.ImagemN = fileN.FileName; } else { novaNoticia.ImagemN = "padrao.png"; } // Upload Final noticiaModel.Create(novaNoticia); ViewBag.Noticias = noticiaModel.ReadAll(); return(LocalRedirect("~/Noticia")); }