none
carregar imagem com FileUpload RRS feed

  • Pergunta

  • ola rapaziada, éo seguinte.. to tentando fazer um exercício onde o proposito é pega uma img atraves do controle FileUpload e com um botao 'Carregar imagem' fazer com q essa imagem carregue em um controle Image na pagina. mas nao to conseguindo fazer. quem poder ajudar agradeço.

    public partial class UploadImage : System.Web.UI.Page
    {
    
      
        protected void Button1_Click(object sender, EventArgs e)
        {
            Image1.ImageUrl = string.Format("~/{0}", FileUpload1.FileName);
        }
    }


    terça-feira, 27 de agosto de 2013 16:33

Respostas

  • Romy e leonardo, eu consegui fazer de uma forma mais simples deu certo porem tive q salva as imagens que serao carregadas em um folder 'upload' antes de carregar.. mas agradeço pela atenção, nao qria avança nos estudos antes desse 'pepino' rs..Obrigado.

    public partial class UploadImage : System.Web.UI.Page
    {
    
      
        protected void Button1_Click(object sender, EventArgs e)
        {
    
           if(FileUpload1.HasFile)
           { 
               FileUpload1.SaveAs(MapPath(string.Format("~/upload/{0}", FileUpload1.FileName)));
               Image1.ImageUrl = string.Format("~/upload/{0}", FileUpload1.FileName);
    
    
           }
        }
    }

    • Marcado como Resposta Giovani Cr segunda-feira, 16 de setembro de 2013 22:18
    terça-feira, 27 de agosto de 2013 17:32

Todas as Respostas

  • Quando você utiliza a propriedade FileName, você pega apenas o nome do arquivo, pra salvar o arquivo enviado utilizar o método SaveAs() do FileUpload...

    Salva em alguma pasta e depois exibe na página, da uma olhada no exemplo abaixo, ele ainda faz a verificação para que o usuário envie somente imagens...

    http://stackoverflow.com/questions/12491608/asp-net-fileupload-images-only-saving-path-and-filename-in-sql-table


    Leonardo Lourenço Silva


    terça-feira, 27 de agosto de 2013 16:48
  • eai leonardo fmz, entao isso é só pra finalidade de estudo msm, nao havendo a necessidade de salvar em algum folder, ea propriedade FileName vem a extensao do arquivo junto ao nome. mas por mais simples q pareça fazer isso nao estou conseguindo :/
    terça-feira, 27 de agosto de 2013 16:54
  • Sim e o problema é justamente esse a propriedade FileName é o nome do arquivo é uma STRING, o arquivo está na propriedade PostedFile.

    Leonardo Lourenço Silva


    terça-feira, 27 de agosto de 2013 16:57
  • entendi oq vc quis dizer.. vo da uma alterada aki..qualquer coisa eu posto aki..se consegui resolver..brigado manow
    terça-feira, 27 de agosto de 2013 17:02
  • Ai cara segue um exemplo básico.

    aspx

    <asp:UpdatePanel runat="server" ID="upCampos">
        <Triggers>
          <asp:PostBackTrigger ControlID="UploadButton" />
        </Triggers>
        <ContentTemplate>
          <div>
            Campo file<br />
            <asp:FileUpload ID="FileUploadControl" runat="server" />
            <asp:Button runat="server" ID="UploadButton" Text="Upload" OnClick="UploadButton_Click" />
            <asp:Label runat="server" ID="StatusLabel"></asp:Label>
            <br />
            <asp:Image Width="212px"  ID="ImageUpload" runat="server" Visible="false" Height="152px" ImageUrl="~/Imgs/upload/aline-embaixadora.jpg">
            </asp:Image>
          </div>
        </ContentTemplate>
      </asp:UpdatePanel>


    código c#

    protected void UploadButton_Click(object sender, EventArgs e)
      {
        if (FileUploadControl.HasFile)
        {
          try
          {
            string filename = Path.GetFileName(FileUploadControl.FileName), caminhoSerever = string.Concat(Server.MapPath("~/imgs/upload/"), filename);
            FileUploadControl.SaveAs(caminhoSerever);
            StatusLabel.Text = "Upload efetuado com sucesso!";
            ImageUpload.Visible = true;
            ImageUpload.DataBind();
    
            ImageUpload.ImageUrl = string.Concat("~/Imgs/upload/", filename);
            ImageUpload.ResolveUrl(string.Concat("~/Imgs/upload/", filename));
            ImageUpload.DataBind();
          }
          catch (Exception ex)
          {
            ImageUpload.Visible = false;
            ImageUpload.DataBind();
            StatusLabel.Text = "Ocorreu ao tentar efetuar o upload: " + ex.Message;
          }
        }
      }

    Obs. lembrar de criar as pastas onde será salvo suas imgs, na raiz do projeto criar (/Imgs/upload/)

    Existem outras formas de fazer isso como por exemplo criar um arquivo FileHandler mas já é uma coisa um pouco mais avançada, por isso este será o ponta pé inicial.

    Abraço!


    • Editado Romy Moura terça-feira, 27 de agosto de 2013 17:11
    terça-feira, 27 de agosto de 2013 17:09
  • Romy e leonardo, eu consegui fazer de uma forma mais simples deu certo porem tive q salva as imagens que serao carregadas em um folder 'upload' antes de carregar.. mas agradeço pela atenção, nao qria avança nos estudos antes desse 'pepino' rs..Obrigado.

    public partial class UploadImage : System.Web.UI.Page
    {
    
      
        protected void Button1_Click(object sender, EventArgs e)
        {
    
           if(FileUpload1.HasFile)
           { 
               FileUpload1.SaveAs(MapPath(string.Format("~/upload/{0}", FileUpload1.FileName)));
               Image1.ImageUrl = string.Format("~/upload/{0}", FileUpload1.FileName);
    
    
           }
        }
    }

    • Marcado como Resposta Giovani Cr segunda-feira, 16 de setembro de 2013 22:18
    terça-feira, 27 de agosto de 2013 17:32