COMO: Enviar um documento de texto dinâmico para o cliente usando Active Server Pages

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 300108
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.
Sumário
Este artigo fornece instruções passo a passo sobre como usar o Active Server Pages (ASP) para enviar um documento de texto dinâmico para o cliente. Isso é útil quando você tem dados de seqüência de caracteres que são armazenados em um banco de dados e deseja enviar os dados para o navegador do cliente sem criar os arquivos reais no servidor Web.

Este exemplo consiste em um formulário que lança a mesmo. Quando você clicar no botão Enviar, o código de script do lado do servidor gravará os dados (texto) no cabeçalho HTTP (Hypertext Transfer Protocol) para o cliente.

back to the top

Criando a página

  1. Crie um novo projeto de Web no Visual InterDev 6.0. Para obter instruções detalhadas, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
    301184COMO: Criar um projeto do Visual InterDev
  2. No Explorer Project no Visual InterDev, clique com o botão direito do mouse em < MyWebServer > / < ProjectName >, aponte para Adicionar e clique em Active Server página . Nomeie a nova página ASP DynamicText.asp.
  3. Na janela fonte, exclua todo o código que gera Visual InterDev. Realce o código a seguir, clique o código com o botão direito do mouse e, em seguida, clique em Copiar . Na janela de origem do Visual InterDev, clique em Colar como HTML no menu Editar para colar o código a seguir:
    <%@ Language=VBScript %><%if Request.Form("buttonSubmit") <> "" then	Dim fileName	Dim str1	Dim str2	fileName = "DynamicText.txt"        'These are the strings that are used to build the text file.	str1 = "<-- Hello -->"	str2 = "This is a demo on creating dynamic text file"        'ContentType specifies the MIME type of this header.	Response.ContentType = "text/plain"         'The AddHeader method adds an HTML header with a specified value.         'Content-disposition forces the browser to download.	Response.AddHeader "content-disposition", "attachment; filename=""" & fileName & """"	Response.Write str1 & vbnewline	Response.Write str2	Response.End	End if%><HTML><HEAD><TITLE> Demo on Creating Dynamic Text File </TITLE></HEAD><BODY><h4> This is a demo on creating a dynamic text file </h4><FORM action="dynamicText.asp" method=POST id=form1 name=form1><INPUT type="submit" value="Download TextFile" id=buttonSubmit name=buttonSubmit></FORM></BODY></HTML>					
  4. Você também pode usar o bloco de notas para criar esta página ASP. Do bloco de notas, cole o código anterior em um novo documento. No menu arquivo , clique em Salvar . Na caixa de diálogo Salvar como , na caixa de listagem drop-down Salvar em , procure o local raiz do seu servidor Web (que é geralmente C:\inetpub\wwwroot). Na caixa de lista suspensa nome do arquivo , digite DynamicText.asp . Na caixa de listagem drop-down Salvar como tipo , clique em Todos os arquivos . Por fim, clique em Salvar .
  5. Para exibir a página, no Visual InterDev, clique com o botão direito do mouse na página ASP e, em seguida, clique em Exibir no navegador . Como alternativa, você pode abrir o navegador e digite o seguinte endereço na barra de endereços:
    http:// < nome_do_servidor > /DynamicText.asp
  6. Quando a página ASP é carregada, clique em Baixar TextFile . Em seguida, o arquivo é enviado para o navegador.
back to the top

Explicação do código

  • O código a seguir especifica a propriedade ContentType do cabeçalho HTTP:
    Response.ContentType = "text/plain"						
    isso informa ao navegador que tipo de dados está sendo enviado ao navegador. O exemplo de código neste artigo define o tipo de conteúdo como "text/plain" porque o cabeçalho contém dados de texto. Se você não especificar o tipo de conteúdo, o Microsoft Internet Information Server (IIS) padrão o tipo de conteúdo para "application/octlet-stream".

    Para obter mais informações sobre a propriedade ContentType , consulte solicitação de comentários (RFC) como 1341 no site do World Wide Web Consortium (W3C):
  • O cabeçalho "disposição do conteúdo" força o navegador do cliente para solicitar o download do arquivo:
    Response.AddHeader "content-disposition", "attachment; filename=""" & fileName & """"						
    se você deseja que o navegador para manipular o conteúdo de texto em vez de solicitar ao usuário para fazer o download, você pode remover a linha "disposição do conteúdo" de código.

    Você também pode especificar a disposição do conteúdo no servidor IIS. Para aplicar o cabeçalho estaticamente, clique com o botão direito no Gerenciador de serviços da Internet no documento e, em seguida, clique em Propriedades . Na guia Cabeçalhos HTTP , digite o cabeçalho "disposição do conteúdo". Isso funciona melhor quando você deseja aplicar a disposição do conteúdo a apenas alguns arquivos em seu sistema e não exigem a sobrecarga do ASP.

    Para obter mais informações sobre a disposição do conteúdo, consulte RFC 1806 no seguinte site do Ohio State University:
  • O código a seguir grava o conteúdo de texto (os "str1" e "str2" seqüências) Response.write :
    Response.Write str1 & vbnewlineResponse.Write str2Response.End						
    "vbnewline" é uma constante do Visual Basic Scripting Edition (VBScript) que contém os valores de caractere de retorno de carro/alimentação de linha (CR/LF). Quando str1 e str2 são gravados para o cabeçalho HTTP, um CR/LF é gravado entre as duas seqüências de caracteres. O código de exemplo neste artigo usa Response.End para garantir que nenhum conteúdo é enviado para o cliente após essa linha.

    Observação : você pode modificar este código para gravar um arquivo binário em vez de conteúdo de texto. Se você fizer isso, você deve alterar a propriedade ContentType . Por exemplo, se você gravar um arquivo do Microsoft Excel, defina ContentType para "aplicativo/msexcel". Além disso, você deve usar Response.BinaryWrite em vez de Response.write .Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    276488Como usar o objeto ADODB.Stream para enviar arquivos binários para o navegador por meio do ASP
back to the top

Solução de problemas

Para obter informações adicionais sobre possíveis armadilhas quando você usa a disposição do conteúdo, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
182315CORRECÇÃO: Content-Disposition: não forçar diálogo de download de arquivo
279667Erro: Content-Disposition Attachment cabeçalhos não salva arquivo
Em outros navegadores, convém definir a disposição de conteúdo para "application/octet-stream" porque alguns navegadores da Web manipular o tipo "text/plain" em vez de solicitar para download de arquivo.

back to the top
Referências
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
260519Como aumentar uma caixa de diálogo "Download de arquivo" para um tipo de MIME conhecido
A Microsoft fornece terceiros informações de contatos para ajudá-lo a encontrar suporte técnico. Essa informações de contatos podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão dessas informações contatos de terceiros.


back to the top

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 300108 - Última Revisão: 06/29/2004 20:01:09 - Revisão: 1.1

Microsoft Active Server Pages 4.0

  • kbmt kbhowto kbhowtomaster KB300108 KbMtpt
Comentários