• 0
Sign in to follow this  
Guest Socorro!!! UpLoad&#3

Como Usar O Request.totalbyte E Request.binaryread

Question

Guest Socorro!!! UpLoad&#3

Olá caros colegas de programação!!!

Tenho um arquivo para fazer upload que funciona normalmente quando é fornecido o endereço correto para o arquivo transferido, porém gostaria de estar selecionando o endereço dentro do formulário no momento do envio, e é exatamente ai que ocorrem os erros.

O explorer diz: Tipos incompatíveis: 'Request.TotalBytes|Request.BinaryRead'

Vejam o código e se aguém puder me ajudar ficarei grato:

Formulário:

<html>

<head>

<title>Untitled</title>

</head>

<body>

<form action="upload.asp" method="post" enctype="multipart/form-data">

<table width="75%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="19%">&nbsp;</td>

<td width="81%">&nbsp;</td>

</tr>

<tr>

<td>Selecione a pasta</td>

<td><select name="local" id="local">

<option value="0">Selecione</option>

<option value="imagens">Imagens</option>

<option value="Banners">Banners</option>

<option value="upload">Upload</option>

</select></td>

</tr>

<tr>

<td>Arquivo 1:</td>

<td><input type="file" name="txtArquivo1"></td>

</tr>

<tr>

<td>Arquivo 2: </td>

<td><input type="file" name="txtArquivo2"></td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type="submit" name="cmdEnviar" value="Enviar"></td>

</tr>

</table>

</form>

</body>

</html>

Arquivo que recebe as informações vindas do formulário:

<%

Dim Contador, Tamanho

Dim StrLocal

Dim ConteudoBinario, ConteudoTexto

Dim Delimitador, Posicao1, Posicao2

Dim ArquivoNome, ArquivoConteudo, PastaDestino

Dim objFSO, objArquivo

StrLocal= Request.Form("Local")

PastaDestino = Server.MapPath("/"&StrLocal)

'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

Set objArquivo = objFSO.CreateTextFile(PastaDestino & "\" & ArquivoNome, true)

objArquivo.WriteLine ArquivoConteudo

objArquivo.Close

Response.write "Arquivo " & PastaDestino & "\" & _

ArquivoNome & " gravado com sucesso!<br>"

Set objArquivo = nothing

end if

end if

Loop

Set objFSO = nothing

%>

Tipo de erro:

Objeto Request, ASP 0206 (0x80004005)

Não é possível chamar BinaryRead após usar a coleção Request.Form.

/upload.asp, line 17

Se alguém puder ajudar ficarei grato.

Muito Obrigado a todos.

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

em qual dos dois arquivos dá o erro?

Share this post


Link to post
Share on other sites
  • 0
Guest - Jevanilson -

O erro ocorre na segunda página.

Na página do Upload.asp

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this