Ir para conteúdo
Fórum Script Brasil
  • 0

Como Usar O Request.totalbyte E Request.binaryread


Guest Socorro!!! UpLoad&#3

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

em qual dos dois arquivos dá o erro?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...