Ir para conteúdo

POWERED BY:

Arquivado

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

rodrigo.gusmao

Imagem No Banco

Recommended Posts

Faaala Galera Blz?

 

COmo que eu posso fazer para cadastrar uma imagem no banco de dados?

 

Tenho um formulario e neste formulario um campo upload para imagem.

 

como fazer o upload inserindo no banco e associando a imagem e registro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode salvar a imagem no banco de dados como um caminho da imagem ou como um BLOB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rodrigo, veja esse link: www.forum.imasters.com.br/topic/164376-upload-sem-componentes/

 

São três Páginas

 

Uma delas com funções, usadas para fazer o upload.
Outra com o form, com campos texto e campos file.
E outra, com o código que cadastra no banco de dados, e que faz o upload.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo você precisa ver qual a finalidade disso, guardar uma imagem no banco torna ele pesado eu recomendaria salvar em um caminho especifico e só registrar o nome da imagem para captura-lo quando necessario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em várias aplicações uso apenas o caminho do arquivo de imagem, agora se precisar realmente armazenar em BD tens que usar tipo de campo BLOB

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hoje eu uso o componente SafileUp para fazer o upload do arquivo.

 

Abaixo segue o script

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
dim conn, rs, nome_foto

Set conn = Server.CreateObject("ADODB.Connection")
 
'Abrimos uma conexão com o banco de dados - [IMPORTANTE] altere os dados abaixo com as informações de sua base de dados
conn.Open("DRIVER={MySQL ODBC 5.1 Driver};SERVER=host;PORT=3306;DATABASE=tecnogalli2;USER=bd;PASSWORD=123456;OPTION=3;")
    'arquivo que checa se existe o login e a senha do usuario que esta tentando logar

        'Instancia o componente
        SET SaFileUp = Server.CreateObject("SoftArtisans.FileUp")
        
        
        server.ScriptTimeout=99999 ' aumenta o tempo para enviar aquivos maiores
        

            'Configura o caminho onde arquivo será salvo
            SaFileUp.Path = Server.MapPath("arquivos/"&pathrede&"/"&pathloja&"/")
                        'Para Revenda substitua o caminho físico para E:\vhosts\SEU_DOMINIO_COMPLETO\httpdocs\
 
             'Caso o usuário não indique um arquivo para upload, informa erro.
            If SaFileUp.IsEmpty Then
                    response.write ("<script>alert('Selecione um arquivo!');location='page.asp")
                    
            'caso o campo foto nao esteja vazio entao faz isso
            Else
                'Salva o arquivo no servidor
            SaFileUp.Save
                                
                nome_foto = Right(SaFileUp.Form("upload"),Len(SaFileUp.Form("upload"))-InstrRev(SaFileUp.Form("upload"),"\"))
                
                
                
                
set rs = conn.execute("insert into arquivo(status,arquivo,rede,loja,fornecedor,dataregistro,dataatualizacao)values(0,'"&nome_foto&"','"&SaFileUp.Form("rede")&"','"&SaFileUp.Form("loja")&"','1','"&mask_data(Date)&"','"&mask_data(Date)&"')")

'fim script que verifica os status do SaFileUp
END IF            

conn.Close()
'Destruímos o objeto
Set conn = Nothing

response.Redirect("dados.asp?incluso=ok&codigo="&request.QueryString("codigo")&"&rede="&SaFileUp.Form("rede")&"&loja="&SaFileUp.Form("loja")&"&dados=1")
%>

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu prefiro usar o path das imagens armazenadas no bd, armazenar apenas o nome do arquivo ou caminho em banco, já o conteúdo do arquivo fica em disco. Mas ai vai se seu projeto for usar BLOB (Binary Large OBject), ele é um grande objeto binário ou, dito de outra forma, uma coleção de dados binários, armazenados como uma entidade única, em um banco de dados. É usado para armazenar imagens, áudios, documentos, planilhas, arquivos compactados, arquivos executáveis e o que você mais desejar, para permitir que o arquivo em referência esteja ao alcance do usuário.

 

Tecnicamente, os blob's são equivalentes aos campos Objeto OLE e Anexo do nosso velho e bom Access! Já no MySQL os blob’s são divididos em quatro tipos, sendo que a diferença existente de um para o outro é unicamente a capacidade de armazenamento e trabalho do campo.

 

TINYBLOB: campo blob de armazenamento máximo igual a 255 caracteres (8 bits) mais 1 de controle; BLOB: o mesmo que o Tinyblob, porém armazenando até 16535 caracteres (16 bits) mais 2 de controles; MEDIUMBLOB: o mesmo que o tinyblob, porém armazenando até 16777216 caracteres (24 bits) mais 3 de controles; LONGBLOB: o mesmo que o tinyblob, porém armazenando até 4294967295 caracteres (32 bits) mais 4 de controles.

 

Além disto, existem as seguintes particularidades com os campos blobs:

1. Não podem ser chaves primárias (excluindo Tinyblob);
2. Não é possível usar os comandos GROUP e SORT com campos blob;
3. São reconhecidos como um LONGVARCHAR para drivers ODBC.

 

E no SQL Server, estes tipos de dados, Large Objects , podem ser classificados em CLOBs - Character Large Objects ou BLOBs - Binary Large Objects e o SQL Server possui um tipo diferente de dados para cada um destes objetos. Abaixo os tipos de dados que podemos usar neste caso:

 

LOB Type Tipo de dadaos SQL Server Tamanho Máximo Os tipos de dados (*) Text, NText e Image já existiam em versões anteriores do SQL Server. É recomendado que você use os novos tipos de dados : varchar(MAX), nvarchar(MAX) e varbinary(MAX)

Observando a tabela vemos que o tipo de dados varbinary(MAX) é o que permite tratar com imagens ou Large Binary Data.

BLOB varbinary(MAX)
Image(*) 2.147.483.647 CLOB varchar(MAX)
Text(*) 2.147.483.647 CLOB - Unicode nvarchar(MAX)
NText(*) 1.073.741.823 dados XML xml 2.147.483.647

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado galera pela ajuda...resolvi salvar em disco mesmo..será melhor...

 

uma outra duvida, como que eu faço o upload da imagem para uma pasta em minha rede?

 

 

isso é possível?

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe vários componentes para upload, este é bem usado:

 

upload.htm

 


<html>
	<head>
		<title> SaFileUp </title>
	</head>
	<body bgcolor="#FFFFFF" >
 
		<center>
			<h2>Upload Simples</h2><br>
			<form ACTION="upload.asp" METHOD="POST" ENCtype="multipart/form-data">
				<input type="FILE" SIZE="60" NAME="FILE1"><BR>
				<input type="SUBMIT" VALUE="Upload!">
			</form >
		</center>
	</body>
</html>

 

upload.asp

 

<html>
	<head> 
		<title> SaFileUp </title>
	</head>
	<body>
		<% 
		'Instancia o componente
		SET SaFileUp = Server.CreateObject("SoftArtisans.FileUp") 
 
			'Configura o caminho onde arquivo será salvo
			SaFileUp.Path = "e:\home\LoginFTP\Web\upload\"
                        'Para Revenda substitua o caminho físico para E:\vhosts\SEU_DOMINIO_COMPLETO\httpdocs\
 
			'Você pode usar também o caminho relativo se preferir
			'SaFileUp.Path = Server.MapPath("./upload/")
 
                        '## ATIVA O TRATAMENTO DE ERRO ##
			'Caso o usuário não indique um arquivo para upload, informa erro.
			If SaFileUp.IsEmpty Then
					response.write "<center>Por favor, indique um arquivo para upload.</center><br>"
			Else
				'Salva o arquivo no servidor
				SaFileUp.Save
				response.write "<center>Total de Bytes Enviados: " & SaFileUp.TotalBytes & "</center>"
			End if
 
			'Gera um link html para retornar a pagina anterior
			response.write "<center><a href='javascript:history.go(-1)'>Voltar</a></center>"
 
		Set SaFileUp = Nothing 
		%>
	</body>
</html>

 




			
		

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.