Ir para conteúdo

Arquivado

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

dark0

Upload sem componentes

Recommended Posts

Antes de mais nada gostaria novamente de agradecer sua Boa vontade em me ajudar, mesmo depois de todo esse tempo do seu 1º Post..(Sobre o Upload sem componetes)..

 

 

Bom vamos lá

 

O tamanho dos arquivos creio eu, não vão variar muito pois serão imagens pequenas com resolução baixa...

 

Tamanho aproximado de 0 a 900 KB pois pretendo limitar isso posteriormente...assim que os teste funcionar.. :D

 

Quando ocorreu o erro eu estava tentando fazer um up de um arquivo (gif de 180 KB) http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Pode perguntar mais dados que vou respondendo... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Valeu Mesmo... no aguardo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, posta aqui os teus codigos, pra mim testar no meu iis, pra ver se não é erro no teu iis mesmo.. antes de mecher nos codigos né..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta ae conforme Solicitado...

 

Página que exibe o Form para teste de Upload e gravação no Banco...

<!-- Página upload_form.asp--><!-- #include file = "upload_funcoes.asp" --><form action="upload_frm2.asp" method="post" enctype="multipart/form-data" name="up" id="up"><table>  <tr>	<td>Nome:</td>	<td><input name="det_nome" type="text" id="det_nome" size="20"></td>  </tr>  <tr>	<td>RG:</td>	<td><label>	  <input name="det_rg" type="text" id="det_rg" size="20" />	</label></td>  </tr>  <tr>	<td>Artigo</td>	<td><input name="det_artigo" type="text" id="det_artigo" size="20" /></td>  </tr>  <tr>	<td>Filiacao</td>	<td><input name="det_filiacao" type="text" id="det_filiacao" size="20" /></td>  </tr>  <tr>	<td>End:</td>	<td><input name="det_end" type="text" id="det_end" size="20" /></td>  </tr>  <tr>	<td>E-mail:</td>	<td><input name="det_email" type="text" id="det_email" size="20"></td>  </tr>  <tr>	<td>Foto:</td>	<td><input type="file" name="foto" size="14"></td>  </tr>  <tr>	<td colspan="2">	<input type="submit" name="submit" value="Enviar">	</td>  </tr></table></form>

Agora o Primeiro include o do 2º arquivo .asp o upload_frm2.asp

<% 'Pagina upload_frm2.asp'ASP<!-- #include file = "upload_funcoes.asp" -->' Chamando Funções, que fazem o Upload funcionar	byteCount = Request.TotalBytes	RequestBin = Request.BinaryRead(byteCount)	Set UploadRequest = CreateObject("Scripting.Dictionary")	BuildUploadRequest (RequestBin)' Recuperando os Dados Digitados ----------------------	det_nome =	UploadRequest.Item("det_nome").Item("Value")	det_rg = UploadRequest.Item("det_rg").Item("Value")	det_artigo = UploadRequest.Item("det_artigo").Item("Value")	det_filiacao = UploadRequest.Item("det_filiacao").Item("Value")		det_end = UploadRequest.Item("det_end").Item("Value")	det_email = UploadRequest.Item("det_email").Item("Value")	' Tipo de arquivo que esta sendo enviado	tipo_foto = UploadRequest.Item("det_foto").Item("ContentType")	' Caminho completo dos arquivos enviados	caminho_foto = UploadRequest.Item("det_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("det_foto").Item("Value")' pasta onde as imagens serao guardadas	pasta = Server.MapPath("../imgs/fotos/")	nome_foto = "/"&nome_foto' pasta + nome dos arquivos	url_foto = "imgs/fotos" + nome_foto' 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	' Conecta-se ao Banco de Dados	url_conexao = Server.MapPath("dados/carcerario.mdb")	set conexao = Server.CreateObject("ADODB.Connection")	conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao	' Cadastra os dados no banco de dados	sql = "Insert into detidos (det_nome, det_rg, det_artigo, det_filiacao, det_end, det_email, det_foto) values ('"& det_nome &"', '"& det_rg &"', '"& det_artigo &"', '"& det_end &"', '"& det_filiacao &"', '"& det_email &"', '"& url_foto &"')"	Conexao.Execute(sql)	' Mostra Mensagem de Confirmação na Tela	Response.Redirect("../cad_det_ok.asp")'Write "Dados Cadastrados com Sucesso!"' Redireciona após 5 segundos	'Response.Write "<br><br>você será redirecionado em 5 segundos..<br>"	'Response.Write "<meta http-equiv='refresh' content='5; url=index.asp'/>"%>

E pra fechar a Página em que não mexi em nada, pelo menos acho que não é necessário alterar nada aqui.. se for mostra ae... está é a upload_funcoes.asp

<%' 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 -----------------------------------------%>
É assim que estam os arquivos em minha maquina... onde será que estou errando... :rolleyes:

 

E desde já agradeço... no aguardo... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

OláEu encontrei alguns errinhos..Na pagina: upload_form.asp .. você nao precisa colocar alinha do include.. pois o include nao é usado aqui. (mas isso nao tem nada a ver com o erro.)- Na pagina upload_frm2.asp, você colocou o include no lugar errado.. Ele vai fora das tags ASP.. e nao dentro ..!Se você colocar o include fora das tags asp, vai perceber que não vai dar o mesmo erro.Porém vai dar outro erro.Vai dizer que o item nao foi encontrado.. na linha:tipo_foto = UploadRequest.Item("det_foto").Item("ContentType")ta vendo o nome do campo?det_foto?Na pagina do formulario, você precisa colocar lá, o mesmo nome de campo que colocar aqui..Senao, dá erro mesmo!Veja se assim resolve o problemaAbraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Grande DARK0 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Pois é mano desculpe a Demora hein responder....

 

Mais deu td certo sim... Pois é localizei os erros que o Dark0 mostrou, e achei mais alguns erros meus e agora sim td certinho...

 

Bom pra quem quiser conferir o código atual com o que eu tinha mandado anteriormente ae vai...

 

Segue Cód. Atual e funcionando....rs... :D

<!-- #include file = "upload_funcoes.asp" --><% 'Pagina upload_frm2.asp'ASP' Chamando Funções, que fazem o Upload funcionar	byteCount = Request.TotalBytes	RequestBin = Request.BinaryRead(byteCount)	Set UploadRequest = CreateObject("Scripting.Dictionary")	BuildUploadRequest (RequestBin)' Recuperando os Dados Digitados ----------------------	det_nome =	UploadRequest.Item("det_nome").Item("Value")	det_rg = UploadRequest.Item("det_rg").Item("Value")	det_artigo = UploadRequest.Item("det_artigo").Item("Value")	det_filiacao = UploadRequest.Item("det_filiacao").Item("Value")		det_end = UploadRequest.Item("det_end").Item("Value")	' Tipo de arquivo que esta sendo enviado	tipo_foto = UploadRequest.Item("det_foto").Item("ContentType")	' Caminho completo dos arquivos enviados	caminho_foto = UploadRequest.Item("det_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("det_foto").Item("Value")' pasta onde as imagens serao guardadas	pasta = Server.MapPath("../imgs/fotos/")	nome_foto = "/"&nome_foto' pasta + nome dos arquivos	url_foto = "imgs/fotos" + nome_foto' 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	' Conecta-se ao Banco de Dados	Set conexao = Server.CreateObject("ADODB.Connection")	Set RS = Server.CreateObject("ADODB.RecordSet")	conexao.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../dados/carcerario.mdb")	' Cadastra os dados no banco de dados	sql = "Insert into detidos (det_nome, det_rg, det_artigo, det_filiacao, det_end, det_foto) values ('"& det_nome &"', '"& det_rg &"', '"& det_artigo &"', '"& det_filiacao &"', '"& det_end &"', '"& url_foto &"')"	conexao.Execute(sql)	' Mostra Mensagem de Confirmação na Tela	Response.Redirect("../cad_det_ok.asp")'Write "Dados Cadastrados com Sucesso!"' Redireciona após 5 segundos	'Response.Write "<br><br>você será redirecionado em 5 segundos..<br>"	'Response.Write "<meta http-equiv='refresh' content='5; url=index.asp'/>"%>
Bom é isso... Agradecendo a todos da Comunidade pela força... http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

 

Ae Dark0 Um salve... valeu Brother...

 

Valeu mesmo... http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu dark0 !!!!!!!!!!!!!

 

a tempos estou procurando algo desse tipo na net, mais num acho nada com essa qualidade e que realmente funcione....

 

Vou fazer mais alguns testes, e tentar incremetar algumas coisas aqui....

 

Esse seu exemplo rodou beleza!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

PARABENS!!!!!

 

Valeu Mesmo.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza caraSe você montar mais alguma coisa interessante com esse código, se quiser mostrar pra nós, fique à vontadeAbração..!

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso não vem no free...tem que programar...captura o que quer inserir e faz igual a qualquer inclusão de dados em DB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá deu este erro aqui, alguém pode me ajudar, oq significa, tem que faze algum registro?Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x1150 Thread 0x1968 DBC 0x163add4 Jet'. /admin/upload_form2.asp, line 89 a linha 89 é esta...(linha 89) conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

deu erro na sua conexao com o banco de dadosVeja se o caminho do banco tá certo, ou se a pasta onde o banco está tem as permissões corretasMas o problema relacionado com o banco de dadost+

Compartilhar este post


Link para o post
Compartilhar em outros sites

ow cara, tipo eu preciso de incluir duas imagens ao mesmo tempo, mas é para o mesmo banco uma imagm com o nome "imagem01G a outra imagem01P" e isso não to conseguindo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow!!! è o seguinte eu não to conseguindo enviar dois arquivos de uma só vez, como faço, tipo tenho de enviar as imagens tipo: imagem01G Imagem01P, as duas terão de ir ao mesmo tempo para o banco e a pasta destinada, como faço isso???????Olha oq eu to tentando fazer é: os dados irão ao banco e as fotos irão a pasta destinada, mas oq consegui fazer é, dados e imagens de apenas uma foto que é enviado e a outra não consigo... oq faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

Preciso de u help!!! :(

 

Gostaria de fazer um formulário normal redirecionando ao meu e-mail mas gostaria que a pessoa através do formulario me enviasse algum arquivo.

Só que a plataforma do meu site é em Windows e portanto este form deve ser em asp.

Eu consegui um form desse jeito que eu quero só que ele é em php e não funciona no meu site (só funciona em Linux). Quem quiser ver eu achei aki no fórum (http://forum.imasters.com.br/index.php?showtopic=123954).

Mas se alguém tiver em asp porrr favor me envie!!!

 

Espero resposta.

 

 

Valewss! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.