Alguém postou um programa de upload sem componente feito com o ADO Stream. Hoje vou dar uma breve introdução a ele.
No passado, se você quisesse usar o ASP para operar arquivos, como mover, copiar, excluir ou criar um arquivo de bloco de notas, ele foi basicamente feito através do objeto FileSystemObject. Claro, essa coisa é muito profissional e não diz nada ruim. Ele pode fornecer informações completas do arquivo, como tempo de estabelecimento, tamanho, última hora de modificação etc., mas se você não fizer conversão de formato de caracteres dolorosa e de alto custo, não poderá manipular diretamente arquivos binários com ele.
No entanto, agora o objeto de fluxo que introduzimos pode operar objetos de texto e objetos binários. O requisito é que sua máquina precise ter.
Este objeto de fluxo contém muitos métodos para manipular arquivos binários e de texto. Vamos dar uma olhada no exemplo
Abra o objeto Stream
<!-metadados tipo = typeLib uuid = 00000205-0000-0010-8000-00AA006D2EA4 Nome = biblioteca do tipo adodb-> <%'Crie um fluxo Instância do objStreamset objStream = server.createObject (adodb.stream)' Open o streamjSoBSONSTROBEN.OPEN.OPEN =
Para as citações acima, se você não entender, você pode ler o post que publiquei antes, que nome específico eu esqueci
Nota: Se a versão não estiver correta, o código acima solicitará uma mensagem de erro.
Agora você criou um fluxo de 0 comprimento. A qualquer momento, você pode usar o atributo de tamanho para visualizar o tamanho do fluxo. Agora queremos especificar que tipo de informação operar, binária ou texto, se for o texto, você também precisa especificar se é formato ASCII ou Unicode
O seguinte código:
objstream.type = adTypeText
objstream.charset = ASCII
Em seguida, escrevemos um arquivo de texto nesse fluxo e usamos seu método LoadFromFile
objstream.loadfromfile d: /inetpub/wwwroot/webetech/083100-1.shtml
Deve -se notar aqui que, se você operar o fluxo, deve entender o conceito de localização. Depois de usarmos o método LoadFromFile, todo o conteúdo do fluxo será limpo e, em seguida, o arquivo será carregado no fluxo e, em seguida, a posição do fluxo é restaurada para 0 (a posição inicial do fluxo)
Se você escrever informações na posição 0 atual, ela substituirá o conteúdo original; portanto, se você quiser adicionar algo, deve começar da última posição, como segue:
objStream.Position = objstream.size
Este código move a posição atual para a última
Agora podemos adicionar algo nas costas, hehe, por exemplo
objstream.writeText, por favor, visite minha sala de bate -papo, mm é especialmente bem -vindo
Ha ha
Agora que alcançamos nosso propósito, vamos salvá -lo
O que você deve observar aqui é que, como você usa a conta do iuser_machineName, o diretório correspondente deve abrir as permissões de gravação na conta. Isso é impossível, caso contrário, ocorrerá um erro.
objstream.savetofiled: /inetpub/wwwroot/demos/streamdemo.txt, adSavecreateOverwrite
Herdar nossas belas tradições e fechar o lançamento após o uso
'Feche o fluxo e defina -o para nada ...