Usuário com melhor resposta
Problema com Upload

Pergunta
-
Bom dia pessoal
Há um tempo atrás consegui fazer com a ajuda do pessoal do fórum um formulário para fazer upload de arquivos via Http. Localmente ele funciona, mas ele não está funcionando agora que subi a aplicação. Ele está salvando o nome da imagem no banco, mas não acha o caminho. Tenho que fazer alguma alteração no código agora que subi a aplicação? Segue abaixo como está o código
Controller
[HttpPost] [ValidateInput(false)] public ActionResult Create(Produto produto, HttpPostedFileBase imagem) { if (ModelState.IsValid) { if (imagem != null) { if (imagem.ContentLength > 0) { string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "content/produtos_images"); savedFileName = Path.Combine(savedFileName, Path.GetFileName(imagem.FileName)); produto.Imagem = Path.GetFileName(imagem.FileName); imagem.SaveAs(savedFileName); } } db.Produtos.Add(produto); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.ProdutoCategoriaId = new SelectList(db.Categorias, "Id", "Nome", produto.ProdutoCategoriaId); return View(produto); }
View
<form action="@Url.Action("Create","Produto")" method="post" enctype="multipart/form-data"> @Html.ValidationSummary(true) <div class="editor-label"> @Html.LabelFor(model => model.ProdutoCategoriaId, "Categoria") </div> <div class="editor-field"> @Html.DropDownList("ProdutoCategoriaId", String.Empty) @Html.ValidationMessageFor(model => model.ProdutoCategoriaId) </div> <div class="editor-label"> @Html.LabelFor(model => model.Nome) </div> <div class="editor-field"> @Html.EditorFor(model => model.Nome) @Html.ValidationMessageFor(model => model.Nome) </div> <div class="editor-label"> @Html.LabelFor(model => model.Descricao) </div> <div class="editor-field"> @Html.TextAreaFor(model => model.Descricao, new { @class = "ckeditor", @id = "ckeditor1" }) </div> <div class="editor-label"> @Html.LabelFor(model => model.Beneficios) </div> <div class="editor-field"> @Html.TextAreaFor(model => model.Beneficios, new { @class = "ckeditor", @id = "ckeditor2" }) </div> <div class="editor-label"> @Html.LabelFor(model => model.Caracteristicas) </div> <div class="editor-field"> @Html.TextAreaFor(model => model.Caracteristicas, new { @class = "ckeditor", @id = "ckeditor3" }) </div> <div class="editor-label"> @Html.LabelFor(model => model.Especificacoes) </div> <div class="editor-field"> @Html.TextAreaFor(model => model.Especificacoes, new { @class = "ckeditor", @id = "ckeditor4" }) @Html.ValidationMessageFor(model => model.Especificacoes) </div> <div class="editor-label"> @Html.LabelFor(model => model.Imagem) </div> <div class="editor-field"> @Html.TextBoxFor(model => model.Imagem, new { @id = "photo", type = "File", @class = "upload" }) @Html.ValidationMessageFor(model => model.Imagem) </div> <div class="editor-label"> @Html.LabelFor(model => model.ThumbImagem) </div> <div class="editor-field"> @Html.TextBoxFor(model => model.ThumbImagem, new { @id = "miniPhoto", type = "File", @class = "upload" }) @Html.ValidationMessageFor(model => model.ThumbImagem) </div> <div class="editor-label"> @Html.LabelFor(model => model.PDF) </div> <div class="editor-field"> @Html.TextBoxFor(model => model.PDF, new { @id = "pdf", type = "File", @class = "upload" }) @Html.ValidationMessageFor(model => model.PDF) </div> <div class="editor-label"> @Html.LabelFor(model => model.RAR) </div> <div class="editor-field"> @Html.TextBoxFor(model => model.RAR, new { @id = "rar", type = "File", @class = "upload" }) @Html.ValidationMessageFor(model => model.RAR) </div> <div id="button_submit"> <input type="image" name="submit" value="Create" src="@Url.Content("~/Content/sistema_images/button_confirmar.jpg")" alt="Confirmar" /> </div> <div id="button_voltar"> <a href="@Url.Action("Index", "Produto")" onclick="return confirma();"> <img src="@Url.Content("~/Content/sistema_images/button_voltar.jpg")" alt="Voltar" /> </a> </div> </form>
Obrigado
Não importa ao tempo o minuto que passa, mas o minuto que vem.
Respostas
-
Pode ser bobeira, mas já pensou que sua aplicação não consegue salvar o arquivo porque o servidor não dá essa permissão de escrita?
Terei prazer em tentar te ajudar :)
Sou só uma little padawan que tem sorte de andar com jedis, mas farei o possível por quem precisar :)
Se quiser: mayumisatox@gmail.com ou @MayogaX- Marcado como Resposta Filipemd_s quarta-feira, 15 de agosto de 2012 18:24
Todas as Respostas
-
Pode ser bobeira, mas já pensou que sua aplicação não consegue salvar o arquivo porque o servidor não dá essa permissão de escrita?
Terei prazer em tentar te ajudar :)
Sou só uma little padawan que tem sorte de andar com jedis, mas farei o possível por quem precisar :)
Se quiser: mayumisatox@gmail.com ou @MayogaX- Marcado como Resposta Filipemd_s quarta-feira, 15 de agosto de 2012 18:24
-
-
-
Obrigado pela ajuda.... o caminho de salvar a imagem estava errado.. ai não ia funcionar nunca... hehehe
Não importa ao tempo o minuto que passa, mas o minuto que vem.
haha, acontece :)
o/
Terei prazer em tentar te ajudar :)
Sou só uma little padawan que tem sorte de andar com jedis, mas farei o possível por quem precisar :)
Se quiser: mayumisatox@gmail.com ou @MayogaX