Ler e exibir dados binários no ASP usando ServerXMLHTTP
Este artigo mostra como ler e exibir dados binários em ASP (Páginas do Servidor Ativo) usando ServerXMLHTTP
.
Versão original do produto: Serviços de Informações da Internet
Número de KB original: 303982
Resumo
ServerXMLHTTP
fornece métodos e propriedades para acesso HTTP seguro ao servidor entre diferentes servidores Web. Você pode usar esse objeto para trocar dados binários entre esses servidores por meio do ASP.
Mais informações
A página ASP recebe e, em seguida, exibe os dados binários usando o tipo MIME (Extensões de Internet do Multiuso) apropriado. Por exemplo, para imagens .gif, altere o tipo MIME usando o seguinte:
Response.ContentType = "image/gif"
Observação
Para arquivos do Adobe Acrobat, use application/pdf
ou para imagens .jpg, use image/jpg
.
O comportamento padrão para tipos MIME é abrir o documento no Microsoft Internet Explorer. A adição do código a seguir solicita que o usuário salve o arquivo ou abra o arquivo com o programa associado:
Content-disposition: attachment; filename=fname.ext
Para obter mais informações, consulte Como levantar uma caixa de diálogo Download de Arquivos para um tipo MIME conhecido.
As etapas a seguir ilustram como usar ServerXMLHTTP
para transmitir um arquivo .jpg para o navegador. ServerXMLHTTP
recupera uma resposta XML de uma página ASP por HTTP. Usando GET, o exemplo envia uma solicitação sem transferir dados para o servidor Web. O exemplo grava essa resposta na saída do navegador informando primeiro ao navegador que a resposta é uma imagem (image/jpg
) e, em seguida, passando a resposta diretamente do objeto Response para exibi-la na tela.
Crie uma nova página ASP e cole o seguinte código na página:
<%@ Language=VBScript %> <% Response.ContentType = "image/jpeg" ' Uncomment to prompt user for download or run with associated program. ' Response.AddHeader "content-disposition","attachment;filename=ReadMe.jpg" Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")' Point to an image file with adequate access permissions granted objHTTP.open "GET", "http://servername/picture.jpg",false objHTTP.send Response.BinaryWrite objHTTP.ResponseBody Set objHTTP = Nothing %>
Salve o arquivo no servidor Web.
Navegue até o arquivo.
Ao usar o ServerXMLHTTP
objeto, esteja ciente do seguinte:
- Devido a problemas de threading, a página ASP e o arquivo que está sendo acessado devem estar em pastas virtuais diferentes.
- O analisador MSXML 3.0 ou posterior deve ser instalado no servidor e o utilitário de configuração de proxy deve ser executado com as configurações apropriadas.
Referências
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários