Ir para conteúdo

POWERED BY:

Arquivado

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

CZ BASS

Upload Imagem + Banco de Dados

Recommended Posts

Galera me ajudem, por favor..

essas são as pages q estou usando para fazer o upload, as imagens estão sendo enviadas corretamente, não consigo enviar os dados para o banco de dados, deem uma olhada e vejah no que estou errando..

 

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 -----------------------------------------%>
form_cadastro.asp

<!-- #include file = "upload_funcoes.asp" --><meta http-equiv="Content-Language" content="pt-br"><div align="center">  <center>  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="733" height="276">	<tr>	  <td height="276" valign="top">	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		<form name="form1" action="upload_form2.asp" method="post" enctype="multipart/form-data">		  <tr>			<td width="6%" style="border: 1px solid #FFFFFF; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1" bgcolor="#DBDBF3">			<font face="Verdana" size="1">Nome:</font></td>			<td width="94%">			<input type="text" name="nome" size="80" style="border: 1px solid #DBDBF3"></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="100%" height="8"></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="6%" style="border: 1px solid #FFFFFF; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1" bgcolor="#DBDBF3">			<font face="Verdana" size="1">Idade:</font></td>			<td width="26%">			<input type="text" name="idade" size="25" style="border: 1px solid #DBDBF3"></td>			<td width="6%" style="border: 1px solid #FFFFFF; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1" bgcolor="#DBDBF3">			<font face="Verdana" size="1">Igreja:</font></td>			<td width="28%">			<input type="text" name="igreja" size="27" style="border: 1px solid #DBDBF3"></td>			<td width="7%" style="border: 1px solid #FFFFFF; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1" bgcolor="#DBDBF3">			<font face="Verdana" size="1">Cidade:</font></td>			<td width="27%">			<input type="text" name="cidade" size="27" style="border: 1px solid #DBDBF3"></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="100%" height="8"></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="7%" style="border: 2px solid #FFFFFF; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1" bgcolor="#DBDBF3">			<font face="Verdana" size="1">E-Mail:</font></td>			<td width="32%"><font size="1">			<input type="text" name="email" size="32" style="border: 1px solid #DBDBF3; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1"></font></td>			<td width="5%" bgcolor="#DBDBF3" style="border: 1px solid #FFFFFF; padding-left: 4; padding-right: 4; padding-top: 1; padding-bottom: 1">			<font face="Verdana" size="1">Foto:</font></td>			<td width="56%"><font size="1">			<input type="file" name="cad_foto" size="31" style="border: 1px solid #DBDBF3"></font></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="100%" height="8"></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="100%"><input type="submit" name="submit" value="Enviar" style="color: #000000; font-family: Verdana; font-size: 8 pt; width: 75; border: 1px solid #DBDBF3; background-color: #C2C2EB"></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="100%" height="8"></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">		  <tr>			<td width="100%" bgcolor="#DBDBF3" align="center"><b>			<font face="Verdana" size="2">Atenção..</font></b></td>		  </tr>		</table>		</center>	  </div>	  <div align="center">		<center>		<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%">		  <tr>			<td width="100%">			<p align="justify"><font face="Verdana" size="2">- Antes de efetuar 			o cadastro siga essas instruções:<br>			* Preencha todos os campos corretamente, pois eles poderão ser 			usados numa eventual promoção e eles serão sua identificação no 			site.<br>			* Ao anexar foto, coloque uma foto sua recente, apenas rosto, o 			arquivo deverá levar seu nome por completo, exemplo: <b>			andrejacob.jpg</b> , sem espaços, acentos e "Ç". A foto deve manter 			o tamanho máximo de 200x200. Se você não souber diminuir o tamanho 			de sua foto, anexe a foto que você tiver e entre em contato pedido 			que seja editada.</font></p>			<p align="justify"><font face="Verdana" size="2">- Se caso tiverem 			dúvidas, entre em contato com a equipe JQ.</font></td>		  </tr>		</table>		</center>	  </div>	  </td>	</tr>  </table>  </center></div>
upload_form2.asp

<!-- #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 ----------------------	nome = UploadRequest.Item("nome").Item("Value")	idade = UploadRequest.Item("idade").Item("Value")	igreja = UploadRequest.Item("igreja").Item("Value")	cidade = UploadRequest.Item("cidade").Item("Value")		email = UploadRequest.Item("email").Item("Value")	' Tipo de arquivo que esta sendo enviado	tipo_foto = UploadRequest.Item("cad_foto").Item("ContentType")	' Caminho completo dos arquivos enviados	caminho_foto = UploadRequest.Item("cad_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("cad_foto").Item("Value")' pasta onde as imagens serao guardadas	pasta = Server.MapPath("imagens/fotos")	nome_foto = "/"&nome_foto' pasta + nome dos arquivos	url_foto = "imagens/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("bd_cad/bd.mdb")	' Cadastra os dados no banco de dados	sql = "Insert into cadastro (nome, idade, igreja, cidade, email, cad_foto) values ('"& nome &"', '"& idade &"', '"& igreja &"', '"& cidade &"', '"& email &"', '"& url_foto &"')"	conexao.Execute(sql)	' Mostra Mensagem de Confirmação na Tela	Response.Redirect("form_cadastro.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?id=home'/>"%>
São essas as pages, espero que alguem me ajude..

Será que pode ser problema com banco de dados??

Fico no Aguardo, Abraço a todos..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Há.. o erro que dá apos clicar em enviar é: A página não pode ser exibida Há um problema com a página que você está tentando acessar e ela não pode ser exibida. --------------------------------------------------------------------------------HTTP 500 - erro interno do servidor isso é no upload_form2.aspVlw..

Compartilhar este post


Link para o post
Compartilhar em outros sites

bempriemiramente tira as mensagens amigaveis de http no seu navegadorai vai aparecer o erro real

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado mario.. jah descubri alguns erros.. mais esse ainda naum..

 

erro na linha 74 (em vermelho)

 

' Cadastra os dados no banco de dados

sql = "Insert into cadastro (nome, idade, igreja, cidade, email, cad_foto) values ('"& nome &"', '"& idade &"', '"& igreja &"', '"& cidade &"', '"& email &"', '"& url_foto &"')"

conexao.Execute(sql)

 

Fico no aguardo.. forte Abraço..

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro que dá?pelo que vi pode ser erros de tipospois todos os valores estao sendo inseridos como stringstem que ver se tem algum numerico no DBposta o erro que dá aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Jonatha..Era meu banco de dados mesmo.. o campo idade estava como numerico.. alterei para texto e funcionaou perfeitamente..Obrigado Galera.. Forte Abraço..

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.