Ir para conteúdo

POWERED BY:

Arquivado

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

saulo domingues

Upload de imagem direto para campo Image do SQL

Recommended Posts

Olá pessoal !!!!

 

Já procurei, e procurei, e procurei (talvez procurando mais umas 3 vezes eu consiga http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Alguem tem um exemplo simples, de como enviar imagem diretamente para o SQL ?

Coisa simples, clico, escolho a imagem e ele grava no campo image direto no DB

 

 

Obrigado !!!

 

:)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Tenta esse código.

 

Primeiro cria um formulario.

 

<form name="myform" enctype="multipart/form-data" action="upload.asp" method="POST" >     <table width="450" align="center" class="FormTABLE">	   	<tr>	  <td><font color="#FF0000">Imagem somente com extenção .jpg ou .gif </font></td>	</tr>	<tr>		  <td><input name="imagem" type="file" ></td>	</tr>	   </table></form>

Neste formulario você redireciona para uma outra pagina, neste caso upload.asp. O codigo da pagina upload.asp segue abaixo.

 

Dim Contador, TamanhoDim ConteudoBinario, ConteudoTextoDim Delimitador, Posicao1, Posicao2Dim ArquivoNome, ArquivoConteudo, PastaDestinoDim objFSO, objArquivo'Determina a pasta que sera armazenada a imagem fisicamentePastaDestino = Server.MapPath("adm_imagens") 'Determina o tamanho do conteúdoTamanho = Request.TotalBytes '6558'Obtém o conteúdo no formato binárioConteudoBinario = Request.BinaryRead(Tamanho)'Aa??'Transforma o conteúdo binário em stringFor Contador = 1 To Tamanho  ConteudoTexto = ConteudoTexto & Chr(AscB(MidB(ConteudoBinario, Contador, 1)))Next 'Determina o delimitador de camposDelimitador = Left(ConteudoTexto, InStr(ConteudoTexto, vbCrLf) - 1)'Percorre a String procurando os campos'identifica os arquivo e grava no discoSet objFSO = Server.CreateObject("Scripting.FileSystemObject")Posicao1 = InStr(ConteudoTexto, Delimitador) + Len(Delimitar)  ArquivoNome = ""  Posicao1 = InStr(Posicao1, ConteudoTexto, "filename=")if Posicao1 <> 0 then   '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		' a variavel nome é a data e hora do momento de gravação, sem ponto nem / para manter a unicidade 	' do nome do arquivo de imagem	nome = ""&FormatDateTime(now, 2)&""&FormatDateTime(now, 3)&""	nome = replace(nome, ":", "")	nome = replace(nome, "/","")	  '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))   ' Estes Ifs reconhecem as extenções e nomeiam o respectivo arquivo   If (Right(ArquivoNome, 3)) = "gif" or (Right(ArquivoNome, 3)) = "GIF" then	   ArquivoNome = ""&nome&"_ii_foto.gif"	Else		If (Right(ArquivoNome, 3)) = "peg" or (Right(ArquivoNome, 3)) = "PEG" Then	   		ArquivoNome = ""&nome&"_ii_foto.jpeg"		Else 			If (Right(ArquivoNome, 3)) = "jpg" or (Right(ArquivoNome, 3)) = "JPG" then	   			ArquivoNome = ""&nome&"_ii_foto.jpg"			Else				ArquivoNome = ""			End If		End If	End If		   'Grava o arquivo   if ArquivoNome <> "" then	 Set objArquivo = objFSO.CreateTextFile(PastaDestino & "\" & ArquivoNome, true)	 objArquivo.WriteLine ArquivoConteudo	 objArquivo.Close	 Set objArquivo = nothing   end ifend ifSet objFSO = nothingIf ArquivoNome = "" or ArquivoNome = "NULL" then	ArquivoNome = "nada.jpg"End If  	'incere os valores no banco de dadosSet Result1 = Server.CreateObject("ADODB.Command")Result1.ActiveConnection = ...Result1.CommandText = "INSERT INTO teste (imagem) VALUES ('"&ArquivoNome&"')" Result1.ExecuteSet Result1 = Nothing

Se você for querer colocar alguma informação extra no formulario você não consegue nada na pagina original, as informações extras serão enviadas como uma string para a pagina de upload, ai é so tratar a string.

 

Espero ter ajudado 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.