Usuário com melhor resposta
Upload de imagem com razor

Pergunta
-
Galera, precisando de um novo help aqui.
Preciso possibilitar ao meu cliente fazer uploads de algumas imagens para determinada pasta no servidor. Estou usando esta lógica, que por sinal não aparece erro nenhum. O form de upload, possui outros campos que salvo corretamente no banco de dados. Mas a imagem ou arquivo, não grava na pasta do servidor.....podem me ajudar a ver erro?
Meu controller:
[HttpPost] public ActionResult ProcessRequired(Requisicao requisicao) { try { var local = requisicao.Local; var descricao = requisicao.Descricao; var data = DateTime.Now; var requisicaobd = new requisicaomanutencao { requisicaoManutencaoNome = local, requisicaoManutencaoMensagem = descricao, requisicaoManutencaoData = data, branch_branchCnpj = requisicao.BranchCnpj }; db.requisicaomanutencaos.Add(requisicaobd); db.SaveChanges(); foreach (var file in requisicao.Imagem) { if (file != null) { var fileName = Path.GetFileName(file.FileName); if (fileName != null) { var path = Path.Combine(Server.MapPath("~/Content/Image/Uploads/"), fileName); file.SaveAs(path); } } } TempData["Message"] = "Sua solicitação foi registrada com sucesso!"; return View("Home"); } catch { TempData["Message"] = "Não foi possível registrar sua solicitação!"; return View("Home"); } }
A pasta uploads existe no meu dominio, e ja alterei as permissões da pasta.
- Editado Fabio Junio domingo, 2 de junho de 2013 15:05 completando.
Respostas
-
Aqui um artigo bem legal e direto sobre upload de arquivo:
http://davidandersonlino.net/blog/2011/05/02/file-upload-em-asp-net-mvc-3-e-razor/
Atenção ao atributo Foto tipo HttpPostedFileBase no exemplo.
Att.,
Wanderson de Paula
- Sugerido como Resposta Fabio.Junio quinta-feira, 12 de junho de 2014 16:05
- Marcado como Resposta welington jrModerator segunda-feira, 5 de março de 2018 11:30
-
Fábio,
Boa noite!
O seu problema não está no upload e sim na forma como você está montando o seu html, você tem uma lista de imagens, sendo assim você deve criar índices para os campos de upload das imagens, segue abaixo um exemplo de como seu html deve ficar:
@using (Html.BeginForm("ProcessRequired","Gerenciador",FormMethod.Post, new{id = "formRequest", @encType = "multipart/form-data"} )) { @Html.ValidationSummary(true) <label>Local da Atualização:</label> <input name="Local" placeholder="Informe aqui o nome correto da página que ira sofrer a atualização" size="100" type="text" /><br /><br /> <label>O que quer que eu faça?</label><br /> <textarea cols="93" rows="10" name="Descricao" placeholder="Escreva detalhadamente qual seu proposito"></textarea><br/><br/> <label>Se sua atualização possuir imagem, favor inseri-la aqui.</label><br/><br/> <p><input type="file" name="[0]imagem" /> | <input type="file" name="[1]imagem" /></p> <br/> <p><input type="file" name="[2]imagem" /> | <input type="file" name="[3]imagem" /></p> <br/> <p><input type="file" name="[4]imagem" /> | <input type="file" name="[5]imagem" /></p> <br/> <p><input type="file" name="[6]imagem" /> | <input type="file" name="[7]imagem" /></p> <br/> <p><input type="file" name="[8]imagem" /> | <input type="file" name="[9]imagem" /></p> <br/><br/> <p> <input type="hidden" name="branchCnpj" id="branchCnpj" value="@Session["BranchCNPJ"]" /> <input type="submit" value="Enviar" /><br/><br/> </p> }
Att,
LeandroSe foi útil, marque como útil ou como resposta.
- Sugerido como Resposta Leandro Tozetto segunda-feira, 3 de junho de 2013 23:18
- Editado Leandro Tozetto segunda-feira, 3 de junho de 2013 23:19 Formatação
- Marcado como Resposta welington jrModerator segunda-feira, 5 de março de 2018 11:30
Todas as Respostas
-
-
Olha ai Wanderson.....esta certinho.....
@using (Html.BeginForm("ProcessRequired","Gerenciador",FormMethod.Post, new{id = "formRequest", @encType = "multipart/form-data"} )) { @Html.ValidationSummary(true) <label>Local da Atualização:</label> <input name="Local" placeholder="Informe aqui o nome correto da página que ira sofrer a atualização" size="100" type="text" /><br /><br /> <label>O que quer que eu faça?</label><br /> <textarea cols="93" rows="10" name="Descricao" placeholder="Escreva detalhadamente qual seu proposito"></textarea><br/><br/> <label>Se sua atualização possuir imagem, favor inseri-la aqui.</label><br/><br/> <p><input type="file" name="imagem" /> | <input type="file" name="imagem" /></p> <br/> <p><input type="file" name="imagem" /> | <input type="file" name="imagem" /></p> <br/> <p><input type="file" name="imagem" /> | <input type="file" name="imagem" /></p> <br/> <p><input type="file" name="imagem" /> | <input type="file" name="imagem" /></p> <br/> <p><input type="file" name="imagem" /> | <input type="file" name="imagem" /></p> <br/><br/> <p> <input type="hidden" name="branchCnpj" id="branchCnpj" value="@Session["BranchCNPJ"]" /> <input type="submit" value="Enviar" /><br/><br/> </p> }
-
Aqui um artigo bem legal e direto sobre upload de arquivo:
http://davidandersonlino.net/blog/2011/05/02/file-upload-em-asp-net-mvc-3-e-razor/
Atenção ao atributo Foto tipo HttpPostedFileBase no exemplo.
Att.,
Wanderson de Paula
- Sugerido como Resposta Fabio.Junio quinta-feira, 12 de junho de 2014 16:05
- Marcado como Resposta welington jrModerator segunda-feira, 5 de março de 2018 11:30
-
Fábio,
Boa noite!
O seu problema não está no upload e sim na forma como você está montando o seu html, você tem uma lista de imagens, sendo assim você deve criar índices para os campos de upload das imagens, segue abaixo um exemplo de como seu html deve ficar:
@using (Html.BeginForm("ProcessRequired","Gerenciador",FormMethod.Post, new{id = "formRequest", @encType = "multipart/form-data"} )) { @Html.ValidationSummary(true) <label>Local da Atualização:</label> <input name="Local" placeholder="Informe aqui o nome correto da página que ira sofrer a atualização" size="100" type="text" /><br /><br /> <label>O que quer que eu faça?</label><br /> <textarea cols="93" rows="10" name="Descricao" placeholder="Escreva detalhadamente qual seu proposito"></textarea><br/><br/> <label>Se sua atualização possuir imagem, favor inseri-la aqui.</label><br/><br/> <p><input type="file" name="[0]imagem" /> | <input type="file" name="[1]imagem" /></p> <br/> <p><input type="file" name="[2]imagem" /> | <input type="file" name="[3]imagem" /></p> <br/> <p><input type="file" name="[4]imagem" /> | <input type="file" name="[5]imagem" /></p> <br/> <p><input type="file" name="[6]imagem" /> | <input type="file" name="[7]imagem" /></p> <br/> <p><input type="file" name="[8]imagem" /> | <input type="file" name="[9]imagem" /></p> <br/><br/> <p> <input type="hidden" name="branchCnpj" id="branchCnpj" value="@Session["BranchCNPJ"]" /> <input type="submit" value="Enviar" /><br/><br/> </p> }
Att,
LeandroSe foi útil, marque como útil ou como resposta.
- Sugerido como Resposta Leandro Tozetto segunda-feira, 3 de junho de 2013 23:18
- Editado Leandro Tozetto segunda-feira, 3 de junho de 2013 23:19 Formatação
- Marcado como Resposta welington jrModerator segunda-feira, 5 de março de 2018 11:30
-