Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

daniel.pod

Upload

Recommended Posts

Ae galera, minha duvida é bem simples...eu tenho um código em asp de upload. tipo eu quero que esse codigo, quando eu envia o formulario, ele pega os outros campos de texto tb. Eu já tentei fze mais ele fala que naum da pra usa request.form blablabla....Tipo eu ouvi dize que é um tal de binarehead. alguma coisa assim. Ai vai meu codigo pra vcs verem. ok.

ASP

[*]<%

 

[*]Dim Contador, Tamanho

 

[*]Dim ConteudoBinario, ConteudoTexto

 

[*]Dim Delimitador, Posicao1, Posicao2

 

[*]Dim ArquivoNome, ArquivoConteudo, PastaDestino

 

[*]Dim objFSO, objArquivo

 

[*]

 

[*]dim cont

 

[*]dim ndestino

 

[*]dim pasta

 

[*]dim qtdfot

 

[*]dim npastinha

 

[*]

 

[*]

 

[*]PastaDestino "c:\teste"

 

[*]

 

[*]'Determina o tamanho do conteúdo

 

[*]Tamanho Request.TotalBytes

 

[*]'Obtém o conteúdo no formato binário

 

[*]ConteudoBinario Request.BinaryRead(Tamanho)

 

[*]

 

[*]'Transforma o conteúdo binário em string

 

[*]For Contador = 1 To Tamanho

 

[*]ConteudoTexto = ConteudoTexto & Chr(AscB(MidB(ConteudoBinario, Contador, 1)))

 

[*]Next

 

[*]

 

[*]'Determina o delimitador de campos

 

[*]Delimitador Left(ConteudoTexto, InStr(ConteudoTexto, vbCrLf) - 1)

 

[*]

 

[*]'Percorre a String procurando os campos

 

[*]'identifica os arquivo e grava no disco

 

[*]Set objFSO Server.CreateObject("Scripting.FileSystemObject")

 

[*]

 

[*]Posicao1 InStr(ConteudoTexto, Delimitador) + Len(Delimitar)

 

[*]

 

[*]do while True

 

[*]ArquivoNome ""

 

[*]Posicao1 InStr(Posicao1, ConteudoTexto, "filename=")

 

[*]if Posicao1 = 0 then

 

[*]exit do

 

[*]else

 

[*]'Determina o nome do arquivo

 

[*]Posicao1 = Posicao1 + 10

 

[*]Posicao2 InStr(Posicao1, ConteudoTexto, """")

 

[*]For contador = (Posicao2 - 1) to Posicao1 step -1

 

[*]if Mid(ConteudoTexto, Contador, 1) <> "\" then '"

 

[*]ArquivoNome Mid(ConteudoTexto, Contador, 1) & ArquivoNome

 

[*]else

 

[*]exit for

 

[*]end if

 

[*]next

 

[*]

 

[*]'Determina o conteúdo do arquivo

 

[*]Posicao1 InStr(Posicao1, ConteudoTexto, vbCrLf & vbCrLf) + 4

 

[*]Posicao2 InStr(Posicao1, ConteudoTexto, Delimitador) - 2

 

[*]ArquivoConteudo Mid(ConteudoTexto, Posicao1, (Posicao2 - Posicao1 + 1))

 

[*]

 

[*]'Grava o arquivo

 

[*]if ArquivoNome <> "" then

 

[*]if objfso.FolderExists(PastaDestino) false then

 

[*]set nn objfso.createfolder(PastaDestino)

 

[*]end if

 

[*]Set objArquivo objfso.CreateTextFile(PastaDestino & "\" & ArquivoNome, true)

 

[*]objArquivo.WriteLine ArquivoConteudo

 

[*]objArquivo.Close

 

[*]

 

[*]Set objArquivo = nothing

 

[*]end if

 

[*]end if

 

[*]Loop

 

[*]Set objFSO = nothing

 

[*]response.Redirect("insere2.asp?qtdfot="&qtdfot&"&cont="&cont&"&destino="&ndestino&"&pasta="&npasta&"&pastinha="&npastinha&"")

 

[*]%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara não manjo de FSO mas se o que você precisa fazer é somente o upload de 1 arquivo e recuperar outros dados do formulário também isto é simples com componentes como AspUpload e Dundas Upload.Se tiver este componente instalado me da um toque, na minha opinião é bem mais simples...WebFuture

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.