none
Dúvida com arquivos ashx RRS feed

  • Pergunta

  • Boas senhores, (projeto vs2008  vb)

    Populava uma lista diretamente no html....um dos itens da lista é uma imagem.

    Agora estou recebendo esta imagem em arquivo ashx....

    Como tenho que ler este arquivo para popular minha lista?

    t+

    segunda-feira, 9 de abril de 2012 16:42

Respostas

Todas as Respostas

  • ashx é um arquito do tipo manipulador (handle) provavelmente ele é o repsonsável da página para montar arquivos do tipo imagem. este tipo de ação é muito comum quando se tem imagens salvas em banco de dados e se deseja montar a imagem a tempo de execução. Geralmente é embutido algum meio do handler identificar qual a imagem a ser montada. Está ação quase sempre é feita via QueryString

    tem uma thread que eu mostro como fazer um handler

    http://social.msdn.microsoft.com/Forums/pt-BR/504/thread/da5cecdb-f2e7-49f8-a6f5-31e448c330cc

    deu pra ajudar em alguma coisa  ?


    Olavo Oliveira Neto
    http://olavooneto.wordpress.com
    Twitter @Olavooneto
    Facebook Olavo Neto
    Linkedin Olavo Neto
    Se for útil marque como resposta e faça um Developer feliz :)

    • Marcado como Resposta DET1 terça-feira, 10 de abril de 2012 20:27
    segunda-feira, 9 de abril de 2012 17:05
  • Olavo obrigado pelo retorno....

    Vamos a primeira dúvida, eu tenho que criar um novo item? Uma função não resolve?

    como falei as minhas imagens fixas serão trocadas por dinâmicas....irei receber o caminho da seguinte forma:

    http://www.site.com.br/Xml/Imagens.ashx

    Quanto clico neste link, é gerado um xml com as imagens em tempo de execução....então o caminho para eu conseguir fazer isso é criar uma pagina da forma que vc indicou e trocar a forma de acesso para ler uma arquivo xml?

    t+

    segunda-feira, 9 de abril de 2012 17:50
  • Boas senhores, 

    Hj fiquei lutando com esta extensão o dia inteiro...mas acho que cheguei a algumas conclusões ...

    Para trabalhar com manipulador preciso de uma pagina que trate o handle....

    Mas no meu caso acredito que a url que recebo ja seja o manipulador, so tenho que ler o xml gerado ao acessar o caminho.

    Recebo http://www.site.com.br/Xml/Imagem.ashx, onde tem o id, nome e img...quando acesso este caminho recebo no navegador uma estrutura de xml.

    Hj populo uma lista com caminho fixo...tenho que ler este arquivo para colocar o caminho com o nome da imagem....

    Alguém ja fez isso?

    segunda-feira, 9 de abril de 2012 21:39
  • Boa noite,

    não consegui compreender qual a sua dúvida. Poderia tentar explicar de outra forma ?

    Abraços,


    Daniel Cheida de Oliveira

    terça-feira, 10 de abril de 2012 03:53
  • veja

    http://stackoverflow.com/questions/8733875/display-image-using-ashx-handler


    Não esqueça de usar o componente </> na barra para posta seu código. Microsoft MCPD,MCTS,MCC

    • Marcado como Resposta DET1 terça-feira, 10 de abril de 2012 20:27
    terça-feira, 10 de abril de 2012 12:18
    Moderador
  • Amigão,

    o que exatamente vc precisa fazer?

    essas imagens que vc precisa trocar dinamicamente esta armazenada em banco?

    se vc ja recebe essa URL, teoricamente a unica coisa que vc deve fazer é passar o paramentro correto na URL

    EX: http://www.site.com.br/Xml/Imagem.ashx?id=12345

    se o parametro for o ID, então o arquivo ashx vai fazer o request do valor deste ID e com base neste valor o arquivo ashx vai rederizar a imagem que vc precisa.

    acredito que neste momento vc precisa saber qual é o parametro que o arquivo ashx esta esperando do outro lado.


    Herbert Agles
    Se a resposta contribuiu com a sua necessidade, não se esqueça de marcá-la, assim você beneficiará outros usuários. Sua dúvida também pode ser as de outros!

    terça-feira, 10 de abril de 2012 14:17
  • hj tenho isso:

    <li class="aba" id="aba1">
    <select id="combo1">
    <option value="http://site.com.br/caminho/foto/fotox.jpg">Fulano 1</option>

    Gostaria de algo assim:

    <li class="aba" id="aba1">
    <select id="combo1">
    <option value="http://site.com.br/caminho/foto/...http://www.site.com.br/Xml/fotos.ashx?id=1...">Fulano 1</option>">Fulano 1</option>

    a localização da foto esta no ashx (http://www.site.com.br/Xml/fotos.ashx?id=1)

    é possível ?


    • Editado DET1 terça-feira, 10 de abril de 2012 16:36
    terça-feira, 10 de abril de 2012 14:45
  • Agles, ao clicar no caminho ele abre no browser um xml. mesmo passando um id.

    Estou tentando entrar em contato com a pessoa que disponibiliza este ashx...mas teria alguma forma de saber olhado no código?

    Outra saída que estou vendo é popular um dataset com este arquivo dai tenho todos os elementos que preciso...

    Com o DS tenho que montar a lista via codebehind, sabe como faço isso?

    obrigado


    • Editado DET1 terça-feira, 10 de abril de 2012 17:37
    terça-feira, 10 de abril de 2012 17:35
  • DET1

    como vc mesmo demonstrou, no value do combo, vc tem uma string de URL.

    quando vc utilizar um arquivo ashx, certamente no behind deste arquivo ja tem uma rotina quem renderiza a imagem e nao o endereço da imagem

    provavelmente neste arquivo ashx deve ter em alguma parte do codigo esta instrução

    context.Response.ContentType = "image/png"
    context.Response.BinaryWrite(((byte[])"0x000D877000003E")) // Imagem armazenada em byte no banco

    o rotina acima faz com que a imagem seja reconstruida.

    acho meio improvavel vc conseguir armazenar uma imagem no value de um combo.

    para vc obter a imagem vc poderia fazer um teste

    EX:

    <asp:image runat="server" imageUrl = http://www.site.com.br/Xml/fotos.ashx?id=1 />
    assim vc poderia testar. e ver se os parametros estão certos, mas guardar a imagem em um value seria improvavel,


    Herbert Agles
    Se a resposta contribuiu com a sua necessidade, não se esqueça de marcá-la, assim você beneficiará outros usuários. Sua dúvida também pode ser as de outros!

    terça-feira, 10 de abril de 2012 18:24
  • Não não,  no arquivo vem o nome da imagen ...

    segue um fragmento do arquivo xml que aparece ao clicar

    <?xml version="1.0" encoding="UTF-8" ?>
    - <fotos>
      <foto id="1" nome="fulano 1 " img="fotos/foto1-2012-4-10-13h-54m.jpg" data="2012-04-10T13:54:42.693" />

     <fotoid="2" nome="fulano 2" img="fotos/foto2-2012-4-10-13h-54m.jpg" data="2012-04-10T13:54:44.253" />

    Rso consigo abrir o arquivo via browser, e pra mim é um xml, como nunca vi esta tal de ashx..esta confusão danada....

    OO caminho inicial é fixo, como demontrado nos posts anteriores, so tenho que concatenar com valor da img que vem neste arquivo....

    aaparentemente muito simples, mas estou apanhando pacas...

    <Antes

    <<li class="aba" id="aba1">
    <select id="combo1">
    <option value="http://site.com.br/caminho/foto/fotox.jpg">Fulano 1</option>

    Necessidade

    <l<li class="aba" id="aba1">
    <select id="combo1">
    <option value="http://site.com.br/caminho/foto/...http://www.site.com.br/Xml/fotos.ashx?id=1...">Fulano 1</option>">Fulano 1</option>

     

    terça-feira, 10 de abril de 2012 18:42
  • então pelo que vc esta falando, o arquivo ashx lhe retorna um XML, Certo?

    a partir deste XML vc quer ler a Tag <Foto> e resgatar o valor da proriedade img que seria  "fotos/foto1-2012-4-10-13h-54m.jpg".

    se for isso, é melhor ler o xml e guardar os valores em List, em seguida montar o combo com o List ja preenchido.

    da uma olhada nesta thread http://social.msdn.microsoft.com/forums/pt-br/aspnetpt/thread/F62A7419-75C7-4445-A5C5-FB88F29A7CF4

    que mostra como ler um arquivo XML, depois disso fica bem facil montar o combo com os valores.


    Herbert Agles
    Se a resposta contribuiu com a sua necessidade, não se esqueça de marcá-la, assim você beneficiará outros usuários. Sua dúvida também pode ser as de outros!

    • Marcado como Resposta DET1 terça-feira, 10 de abril de 2012 20:27
    terça-feira, 10 de abril de 2012 20:03
  • Boa...é isso...na verdade a extensão ashx que atrapalhou tudo...fui pesquisar dai vi o tal de manipulador...e por ai vai....

    Vou criar outro post, pois quero ver se modifico o minimo possível o código, pois estão usando lista no html...se conseguir atualizar esta lista ficaria melhor...

    Obrigado a todos....

    terça-feira, 10 de abril de 2012 20:27