none
Busca interna RRS feed

  • Pergunta

  • Olá a todos.... Eu criei uma página para upload de arquivo de imagem!!! Funciona tudo beleza! Eu queria criar um sistema de busca interna na página default.aspx para que quando o usuario pesquisar alguma imagem ali aparecer a imagem que ele solicitou nesta página..... Como faço isto???!!!!!!!!!!!!!!
    quarta-feira, 15 de setembro de 2010 17:24

Respostas

  • mais ou menos assim

    protected void Button2_Click1(object sender, EventArgs e)
      {
        System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(@"C:\Documents and Settings\C008218\Meus documentos\Visual Studio 2010\WebSites\WebSite1\Images");
    
        var files = from c in d.EnumerateFiles()
              where c.Extension.ToUpper() == ".JPG" && c.Name.Contains(TextBox1.Text)
              select c;
    
        foreach (var file in files)
        {
    
          Image imageWeb = new Image();
    
          imageWeb.ImageUrl = "~/images/" + file.Name;
          imageWeb.Height = 200;
          imageWeb.Width = 200;
          Panel1.Controls.Add(imageWeb);
        }
        Panel1.DataBind();
    }
    
    • Marcado como Resposta Flavio Fonseca quinta-feira, 16 de setembro de 2010 13:43
    quinta-feira, 16 de setembro de 2010 13:33
  • protected void Button2_Click1(object sender, EventArgs e)
      {
        System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(@"C:\Documents and Settings\C008218\Meus documentos\Visual Studio 2010\WebSites\WebSite1\Images");
    
        var files = from c in d.EnumerateFiles()
              where c.Extension.ToUpper() == ".JPG" && c.Name.Contains(TextBox1.Text)
              select c;
        if (files.Count() > 0)
        {
          Label1.Text = "";
          foreach (var file in files)
          {
    
            Image imageWeb = new Image();
    
            imageWeb.ImageUrl = "~/images/" + file.Name;
            imageWeb.Height = 200;
            imageWeb.Width = 200;
            Panel1.Controls.Add(imageWeb);
          }
        }
        else
          Label1.Text = "nenhuma imagem encontrada";
    
        Panel1.DataBind();
    }
    
    • Marcado como Resposta Flavio Fonseca quinta-feira, 16 de setembro de 2010 14:04
    quinta-feira, 16 de setembro de 2010 14:01

Todas as Respostas

  • Flavio, você pode fazer de 2 jeitos:

    Primeiro:

    - Fazer o upload na pasta IMG e localizar arquivos pelo nome. Não lembro no momento mas tem funções que procuram arquivos.

    Segunda (A que eu faria):

    - No Upload da imagem, salvaria no banco de dados da mesma (nome, extensão, tamanho, tipo, enfim, todos os dados que você possa querer filtrar). Quando o user buscar a imagem, você faz um select no banco de dados e mostra a imagem.

     

    Simples assim!


    Gustavo Bergamo
    quarta-feira, 15 de setembro de 2010 18:57
  • Rapaz, u

    utilizando o metodo abaixo talvez vc consiga o que quer

    System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(@"C:\Documents and Settings\C008218\Meus documentos\Visual Studio 2010\WebSites\WebSite1\Images");
    
      var files = from c in d.EnumerateFiles()
         where c.Extension.ToUpper() == ".JPG"
         select c;
    
      foreach (var file in files)
      {
       
       Image imageWeb = new Image();
    
       imageWeb.ImageUrl = "~/images/" + file.Name;
       imageWeb.Height = 200;
       imageWeb.Width = 200;
       Panel1.Controls.Add(imageWeb);
      }
      Panel1.DataBind();
    

    ele faz o seguinte,

    1. le os arquivos de uma determinada pasta
    2. na consulta, tow filtrando so por JPG, ai vc pode adicionar mais parametros de busca como por exemplo o nome da imagem ou outras extensoes como no exemplo abaixo
    3.  var files = from c in d.EnumerateFiles()
           where c.Extension.ToUpper() == ".JPG" && c.Name.Contains("NOME")
           select c;
      
    4. crio um controle Image
    5. a pasta esta dentro do projeto, então eu pego o nome dos arquivos encontrados, concateno com o endereço da pasta dentro do projeto, defino um tamanho fixo e adiciono a uma componente panel
    quinta-feira, 16 de setembro de 2010 13:15
  • Olá Olavo!!! Muito obrigado por sua opinião, com certeza será de grande ajuda para mim.... Eu estou com outra dúvida, eu vou colocar um textbox para o usuário digitar o que quer e um botão para o usuário enviar sua solicitação.... Como eu uso este código?
    quinta-feira, 16 de setembro de 2010 13:25
  • mais ou menos assim

    protected void Button2_Click1(object sender, EventArgs e)
      {
        System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(@"C:\Documents and Settings\C008218\Meus documentos\Visual Studio 2010\WebSites\WebSite1\Images");
    
        var files = from c in d.EnumerateFiles()
              where c.Extension.ToUpper() == ".JPG" && c.Name.Contains(TextBox1.Text)
              select c;
    
        foreach (var file in files)
        {
    
          Image imageWeb = new Image();
    
          imageWeb.ImageUrl = "~/images/" + file.Name;
          imageWeb.Height = 200;
          imageWeb.Width = 200;
          Panel1.Controls.Add(imageWeb);
        }
        Panel1.DataBind();
    }
    
    • Marcado como Resposta Flavio Fonseca quinta-feira, 16 de setembro de 2010 13:43
    quinta-feira, 16 de setembro de 2010 13:33
  • Olavo, muito obrigado!!!!
    quinta-feira, 16 de setembro de 2010 13:37
  • de nada, se tiver ajudado, marca como resposta por favor :)
    quinta-feira, 16 de setembro de 2010 13:41
  • Amigo, quando o usuario procurar por imagens e não achar eu gostaria de colocar uma mensagem de erro...... Como eu faria isso no meio desse código?

    quinta-feira, 16 de setembro de 2010 13:54
  • protected void Button2_Click1(object sender, EventArgs e)
      {
        System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(@"C:\Documents and Settings\C008218\Meus documentos\Visual Studio 2010\WebSites\WebSite1\Images");
    
        var files = from c in d.EnumerateFiles()
              where c.Extension.ToUpper() == ".JPG" && c.Name.Contains(TextBox1.Text)
              select c;
        if (files.Count() > 0)
        {
          Label1.Text = "";
          foreach (var file in files)
          {
    
            Image imageWeb = new Image();
    
            imageWeb.ImageUrl = "~/images/" + file.Name;
            imageWeb.Height = 200;
            imageWeb.Width = 200;
            Panel1.Controls.Add(imageWeb);
          }
        }
        else
          Label1.Text = "nenhuma imagem encontrada";
    
        Panel1.DataBind();
    }
    
    • Marcado como Resposta Flavio Fonseca quinta-feira, 16 de setembro de 2010 14:04
    quinta-feira, 16 de setembro de 2010 14:01
  • Muito obrigado mesmo! Você me ajudou bastante Olavo!
    quinta-feira, 16 de setembro de 2010 14:06