Imagem no MYSQL

1 resposta
J

Oi pessoal … eu jah consegui inserir uma imagem no banco de dados em my sql… peguei um exemplo na net XD

mas eu naum to conseguindo trazer ela de volta do banco. Eu sei que ela está no banco pq eu abro pelo query browser e funfa … mas naum sei como traze-la de volta… a classe que eu estou usando para a conversao de bytes e imagens é a seguinte

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
public class ImagemUtil {
	public static byte[] fileToByte(File imagem)throws Exception{
	FileInputStream fis = new FileInputStream(imagem);
	
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		byte[] buffer = new byte[8192];
		int bytesRead = 0;
		while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
			baos.write(buffer, 0, bytesRead);
		}
		
		return baos.toByteArray();
	}
	public static InputStream byteToInputStream(byte[] bytes)throws Exception{
		ByteArrayInputStream bais = new ByteArrayInputStream (bytes);
		return bais;
	}
}

o método fileToByte funciona que é uma beleza … despois deconvertido eu boto no banco … agora o método byteToInputStream me retorna um objeto que naum sei o q é … axo q é um tal de bytearray ??? tah … digamos que eu encapsule isso … o q é que eu faço com o resultado desse método pra que isso vire uma imagem de novo ??

MUITO OBRIGADO [[]]ss

1 Resposta

J

Tá certo que você quer colocar a imagem no banco.
Mas não é mais fácil, econômico e rápido criar um campo VARCHAR com o caminho que aponta para a imagem em uma pasta?
Se for uma aplicação comercial rapidamente você vai ter sem necessidade um banco de dados gigante só por causa das imagens, o que futuramente vai ter um impacto significativo de performance do banco e da aplicação. A menos que realmente você tenha necessidade absoluta de que seja assim.

Criado 24 de maio de 2007
Ultima resposta 14 de jun. de 2007
Respostas 1
Participantes 2