none
Upload Não Funciona após hospedar RRS feed

  • Pergunta

  • Boa noite, tenho um código de upload que funciona local normalmente, mas ao hospedar recebo um erro no metódo

    System.Drawing.Image.FromFile , que esta no código abaixo.

    Alguem sabe o porque desse erro, obrigado.

    protected string NovoUpload(HttpPostedFile arquivoPostado)
        {
    
            nomeArquivo = Path.GetFileName(arquivoPostado.FileName);
    
            extencao = nomeArquivo.Substring(nomeArquivo.LastIndexOf('.')).ToLower();
            caminhoArquivo = Server.MapPath("~/imagens/queFacoNovo/");
            caminhoArquivoNormal = Server.MapPath("~/imagens/queFacoNovo/");
            caminhoArquivosThumb = Server.MapPath("~/imagens/queFacoNovo/thumb/");
    
            if (arquivoPostado.ContentLength > 0)
            {
    
                if (extencao == ".gif" || extencao == ".jpg" || extencao == ".bmp" || extencao == ".png" || extencao == ".avi" || extencao == ".mpeg"
                || extencao == ".asf" || extencao == ".wmv" || extencao == ".wma" || extencao == ".mp3")
                {
    
                    System.Drawing.Image OriginalImg;
                    System.Drawing.Image NewImg;
                    int ImgHeight, ImgWidth, MaxWidth, MaxHeight, novaAltura, novaLargura;
    
                    nomeArquivoNovo = Guid.NewGuid().ToString() + extencao;
    
                    #region Arquivo Normal
    
                    OriginalImg = System.Drawing.Image.FromFile(arquivoPostado.FileName);
                    ImgHeight = OriginalImg.Height;
                    ImgWidth = OriginalImg.Width;
    
                    Context.Response.ContentType = "image/jpeg";                
    
                    NewImg = GeraThumb(OriginalImg, ImgWidth, ImgHeight);
                    ImageCodecInfo[] MyInfo = ImageCodecInfo.GetImageEncoders();
                    EncoderParameters MyEncoderParameters = new EncoderParameters(1);
                    MyEncoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, 93L);
                    
                    NewImg.Save(caminhoArquivoNormal + nomeArquivoNovo, MyInfo[1], MyEncoderParameters);                
                    
                    #endregion
    
    
                    NewImg.Dispose();
                    OriginalImg.Dispose();
    
    
                }
                else if (extencao == ".pdf")
                {
                    nomeArquivoNovo = Guid.NewGuid().ToString() + extencao;
                    arquivoPostado.SaveAs(caminhoArquivo + nomeArquivoNovo);
    
                }
    
            }
            return nomeArquivoNovo;
        }
    quinta-feira, 24 de setembro de 2009 23:38

Respostas

  • SauSlash,

    Essa é fácil? A propriedade FileName do objeto HttpPostedFile retorna o path completa do arquivo no Client. (Por isso que vc está tendo problema).
    Para obter o nome do arquivo no servidor use a propriedade FileName do objeto FileUpload.

    Para criar a imagem vc pode usar o 'Strem' ou salvar este arquivo em algum lugar no servidor e através de uma path valida no mesmo criar sua imagem.

    Informações sobre o objeto(FileUpload): http://msdn.microsoft.com/pt-br/library/ms227669.aspx.


    Tiago Santos
    Líder do Grupo de Usuários Atitude Brasil.Net (www.atitudebrasil.net)
    MSP, MCP

    "Atenção:  Se este poste foi útil. Não deixe de marcar como tal."


    Tiago Novaes (MSP, MCP) - tiago.santos@atitudebrasil.net - http://www.atitudebrasil.net - Blog: http://www.atitudebrasil.net/blogs/tiagosantos
    • Sugerido como Resposta Tiago Novaes sexta-feira, 25 de setembro de 2009 00:21
    • Marcado como Resposta Harley Araujo segunda-feira, 28 de setembro de 2009 14:04
    sexta-feira, 25 de setembro de 2009 00:21

Todas as Respostas

  • Boa noite,

    Ja descobri o problema, era nessa linha realmente, OriginalImg = System.Drawing.Image.FromFile(arquivoPostado.FileName);
    A solução foi salvar o arquivo no servidor e depois mudar a linha acima para o path onde a imagem foi salva.

    Obrigado
    sexta-feira, 25 de setembro de 2009 00:20
  • SauSlash,

    Essa é fácil? A propriedade FileName do objeto HttpPostedFile retorna o path completa do arquivo no Client. (Por isso que vc está tendo problema).
    Para obter o nome do arquivo no servidor use a propriedade FileName do objeto FileUpload.

    Para criar a imagem vc pode usar o 'Strem' ou salvar este arquivo em algum lugar no servidor e através de uma path valida no mesmo criar sua imagem.

    Informações sobre o objeto(FileUpload): http://msdn.microsoft.com/pt-br/library/ms227669.aspx.


    Tiago Santos
    Líder do Grupo de Usuários Atitude Brasil.Net (www.atitudebrasil.net)
    MSP, MCP

    "Atenção:  Se este poste foi útil. Não deixe de marcar como tal."


    Tiago Novaes (MSP, MCP) - tiago.santos@atitudebrasil.net - http://www.atitudebrasil.net - Blog: http://www.atitudebrasil.net/blogs/tiagosantos
    • Sugerido como Resposta Tiago Novaes sexta-feira, 25 de setembro de 2009 00:21
    • Marcado como Resposta Harley Araujo segunda-feira, 28 de setembro de 2009 14:04
    sexta-feira, 25 de setembro de 2009 00:21