none
Problema com Upload RRS feed

  • 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.

    quarta-feira, 15 de agosto de 2012 12:39

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
    quarta-feira, 15 de agosto de 2012 13:11

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
    quarta-feira, 15 de agosto de 2012 13:11
  • Oi Priscila, obrigado, mas o servidor está com permissão de escrita... tenho de dar permissão de leitura e escrita?

    Não importa ao tempo o minuto que passa, mas o minuto que vem.

    quarta-feira, 15 de agosto de 2012 15:01
  • 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.

    quarta-feira, 15 de agosto de 2012 18:25
  • 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

    quinta-feira, 16 de agosto de 2012 12:57