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

Upload Sem Comp. - Fiz E Deu Certo Mas...


Steven Tyler

Pergunta

galera, to desesperado, é o seguinte...

a umas 2 semanas +ou-, entrei nesse link upload sem componentes segui ele, e consegui fazer um upload de 16 mb, maravilha, testei de td q é jeito....

beleza, mais agora to fazendo um negocio mais serio aqui, e n da de jeito nenhum...vo mostrar os coigos ai p vocês, e no fim eu digo o erro q ta dando...esse abaixo é o do dark0, q ta perfeito


<%
' Upload Sem componentes ---------------------------------------
Sub BuildUploadRequest(RequestBin)
on error resume next

PosBeg = 1
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
boundary = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
BoundaryPos = InStrB(1, RequestBin, boundary)

Do Until (BoundaryPos = InStrB(RequestBin, boundary & getByteString("--")))

Dim UploadControl
Set UploadControl = CreateObject("Scripting.Dictionary")

Pos = InStrB(BoundaryPos, RequestBin, getByteString("Content-Disposition"))
Pos = InStrB(Pos, RequestBin, getByteString("name="))
PosBeg = Pos + 6
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
Name = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
PosFile = InStrB(BoundaryPos, RequestBin, getByteString("filename="))
PosBound = InStrB(PosEnd, RequestBin, boundary)

If PosFile <> 0 And (PosFile < PosBound) Then
PosBeg = PosFile + 10
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(34)))
FileName = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "FileName", FileName
Pos = InStrB(PosEnd, RequestBin, getByteString("Content-Type:"))
PosBeg = Pos + 14
PosEnd = InStrB(PosBeg, RequestBin, getByteString(Chr(13)))
ContentType = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
UploadControl.Add "ContentType", ContentType
PosBeg = PosEnd + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = MidB(RequestBin, PosBeg, PosEnd - PosBeg)
Else
Pos = InStrB(Pos, RequestBin, getByteString(Chr(13)))
PosBeg = Pos + 4
PosEnd = InStrB(PosBeg, RequestBin, boundary) - 2
Value = getString(MidB(RequestBin, PosBeg, PosEnd - PosBeg))
End If

UploadControl.Add "Value", Value
UploadRequest.Add Name, UploadControl
BoundaryPos = InStrB(BoundaryPos + LenB(boundary), RequestBin, boundary)
Loop
End Sub

Function getByteString(StringStr)
For i = 1 To Len(StringStr)
Char = Mid(StringStr, i, 1)
getByteString = getByteString & ChrB(AscB(Char))
Next
End Function

Function getString(StringBin)
getString = ""
For intCount = 1 To LenB(StringBin)
getString = getString & Chr(AscB(MidB(StringBin, intCount, 1)))
Next
End Function

' Fim upload sem Componentes -----------------------------------------
%>
beleza, agora vo postar o do formulario
<!--#include file = "upload_funcoes.asp" -->
<form onSubmit="return valida()" action="insert2.asp" name="form1" method="post" enctype="multipart/form-data">


<tr>
<td colspan="2"><font class="texto">Nome:</td>
<td colspan="2"><input type="text" name="nome" size="40"></td>
</tr>

<tr>
<td colspan="2"><font class="texto">Setor:</td>
<td colspan="2"><input type="text" name="setor" size="40"></td>
</tr>

<tr>
<td colspan="2"><font class="texto">Cargo:</td>
<td colspan="2"><input type="text" name="cargo" size="40"></td>
</tr>

<tr>
<td colspan="2"><font class="texto">Especialidade:</td>
<td colspan="2"><input type="text" name="especialidade" size="40"></td>
</tr>

<tr>
<td colspan="2"><font class="texto">Foto:</td>
<td colspan="2"><input type="file" name="foto" size="40"></td>
</tr>



<tr>
<td colspan="2" width="20%">&nbsp;</td>
<td colspan="2"><INPUT TYPE="submit" name="botao" value="Inserir">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="reset" value="Limpar">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<INPUT TYPE="button" value="Voltar" onclick="history.back();"></td>
</tr>
</form>
então, esse do form, ta so o que importa ai postado !!! agora vo postar o q faz o upload e redireciona para a pagina "principal" no caso...
<!--#include file="conf.asp"-->
<!--#include file="upload_funcoes.asp"-->

<% 
Response.expires = -10
Server.ScriptTimeout = 60000000
%>

<%
' Chamando Funções, que fazem o Upload funcionar
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin

dim vnome,vcargo,vsetor,vespecialidade,conn,vSQLInsert,insert_dados,tipo_foto,caminho_foto,nome_foto,foto,MyFile,ScriptObject

'vnome = request.form("nome")
'vsetor = request.form("setor")
'vcargo = request.form("cargo")
'vespecialidade = request.form("especialidade")

vnome = UploadRequest.Item("nome").Item("Value")
vsetor = UploadRequest.Item("setor").Item("Value")
vcargo = UploadRequest.Item("cargo").Item("Value")
vespecialidade = UploadRequest.Item("especialidade").Item("Value")

' Tipo de arquivo que esta sendo enviado
tipo_foto = UploadRequest.Item("foto").Item("ContentType")

' Caminho completo dos arquivos enviados
caminho_foto = UploadRequest.Item("foto").Item("FileName")

' Nome dos arquivos enviados
nome_foto = Right(caminho_foto,Len(caminho_foto)-InstrRev(caminho_foto,"\"))

' Conteudo binario dos arquivos enviados
foto = UploadRequest.Item("foto").Item("Value")

pasta = Server.MapPath("fotos_func")

' Fazendo o Upload do arquivo selecionado
if foto <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & "\" & nome_foto)
For i = 1 to LenB(foto)
MyFile.Write chr(AscB(MidB(foto,i,1)))
Next
MyFile.Close
end if

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open "DBQ=C:\Inetpub\wwwroot\site_asp\bdados.mdb;Driver={Microsoft Access Driver (*.mdb)}"
vSQLInsert = "insert into tbl_func(nome,setor,cargo,especialidade,imagem) values ('" & vnome & "','" & vsetor & "','" & vcargo & "','" & vespecialidade & "', '" & nome_foto & "')"

set insert_dados = conn.Execute(vSQLInsert)
conn.close

%>

<script>
	alert("Funcionário cadastrado com sucesso!");
	location.href="funcionarios.asp";
</script>

então galera, ta ai o codigo, o que acotnece é q quando eu clico no submit do form, ele fica carregando mt tempo, e n faz nada, sendo q é arquivo de 4k q to testando, e fica assim parado, e n faz nada, sendo q a 2 semanas atrras tava de boa com 16 mb, e uma coisa importante, testei em um servidor e ddeu certo de boa, com o mesmo codigo, igualzinhhu, ou seja, quase certeza q o problema é no meu iis, mais se for no iis, o que devo fazer? por favor, me ajudem, valeu !!!

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

então, consegui resolver, fiz uma restauração do windows para dia 9 desse mes mais ou menos e td fico bom de novo, deve ser algum programa q instalei q deu conflito seila, algum anti virus novo q eu coloquei, porque tinha o avast na epoca, depois coloquei o macfee agora, seila, ou alguma coisa q mexi no iis, mais enfim, ta td beleza, valeu galera !!!!

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...