none
Download ImageButton com Datalist RRS feed

  • Pergunta

  • Boa tarde amigo do forum, 

    tenho uma dúvida simples mas não consegui resolver de maneira alguma, é o seguinte eu preencho um DataLista com uma consulta do banco de dados, nessa consulta eu trago o caminho da imagem e o caminho do arquivo, ex: ImageUrl='<%# Eval("CaminhoImagem") %>' e CaminhoArquivo..

    Até ai tudo bem está aparecendo normalmente a imagem, o problema é na hora de fazer o download do arquivo, eu queria que quando o usuário clicasse sobre a imagem a página fizesse o download, detalhe o arquivo está em uma pasta no servidor.

    Desde já agradeço a atenção de todos.

    segunda-feira, 22 de abril de 2013 20:38

Respostas

  • Boa tarde amigo do forum, 

    tenho uma dúvida simples mas não consegui resolver de maneira alguma, é o seguinte eu preencho um DataLista com uma consulta do banco de dados, nessa consulta eu trago o caminho da imagem e o caminho do arquivo, ex: ImageUrl='<%# Eval("CaminhoImagem") %>' e CaminhoArquivo..

    Até ai tudo bem está aparecendo normalmente a imagem, o problema é na hora de fazer o download do arquivo, eu queria que quando o usuário clicasse sobre a imagem a página fizesse o download, detalhe o arquivo está em uma pasta no servidor.

    Desde já agradeço a atenção de todos.

    Amigo, você pode colocar esse caminho no href de um link passando o nome do arquivo por query string para uma página que forçará o download pra você. Segue o código:

     protected void Page_Load(object sender, EventArgs e)
            {
                string file = string.Empty;
                try
                {
                    file = Request.QueryString["file"];                
                    
                    string[] arq = file.Split('.');
                    file = arq[0] + "." + arq[1];
    
                    Response.Clear();
                    Response.AddHeader("content-disposition", "attachment; filename='" + file);
                    Response.WriteFile(Server.MapPath(".") + @"\uploads\" + file);
                    Response.ContentType = "";                
                }
                catch (Exception ex)
                {                
                    Response.Redirect("Cliente.aspx?msg=1");
                }
    
                Response.End();
            }

    No link você passaria:

    <a href="exibe_arquivo.aspx?file=<%# Eval("arquivo") %>">

    Na parte do "SPLIT" a função extrai o nome e a extensão, caso queira verificar se é imagem ou algo do tipo.

    É isso, qualquer dúvida pergunte, e se ajudou, por favor, clique em "marcar como resposta" e ajude o fórum.

    Abraço


    Evandro Aguiar
    http://agenciawebpro.com.br

    Farei o possível, para ajudar. Caso eu consiga, marque minha resposta como útil e me faça feliz. :) hauhauhauhauh

    • Sugerido como Resposta EvandroAS segunda-feira, 22 de abril de 2013 21:03
    • Marcado como Resposta leonardo_slash terça-feira, 23 de abril de 2013 15:55
    segunda-feira, 22 de abril de 2013 21:03