Http Connection -

3 respostas
M

Ola! Pessoal.

Estou tentando receber uma imagem de 2k via HttpConnection e não estou conseguindo. Gostaria de saber se vcs sabem qual o problema. Abaixo o codigo :

O problema e que ele nao consegui nem executar o comando “connection.openDataInputStream” e quando consegue traz 4k de informação. A conexao esta configurada corretamente, pois consigo abrir a imagem no opera para symbiam. A forma de comunicao esta correta?

connection = (ContentConnection) Connector.open(url);

iStrm = connection.openDataInputStream();		

byte imageData[];

int length = (int) connection.getLength();

if (length != -1){

imageData = new byte[length];

iStrm.read(buffer);

}

else{

ByteArrayOutputStream bStrm = new ByteArrayOutputStream();

int ch;

while ((ch = iStrm.read()) != -1)

bStrm.write(ch);

imageData = bStrm.toByteArray();

bStrm.close();

}

3 Respostas

urubatan

tenta o seguinte, não testei o código, to escrevendo agora, mas algo parecido com isto funciona :smiley:

URL u = new URL("http://...."); HttpConnection con = u.openConnection(); InputStream in = con.getInputStream(); byte[] arr = new byte[1024]; int i; while((i=in.read(arr))>0){ //do what you want with arr[0..i] }

LecaDF

Utilize-o código abaixo:

HttpConnection httpConnection = null;
		InputStream input = null;
		byte[] dados = null;
		String url = null;
		try {
			httpConnection = (HttpConnection) Connector.open(url, Connector.READ_WRITE);
			httpConnection.setRequestMethod(HttpConnection.GET);
			input = httpConnection.openInputStream();
			int length = (int) http.getLength();
			if (length != -1){
			  dados = new byte[length];
			  input.read(dados);
			}else{
			   ByteArrayOutputStream output = new ByteArrayOutputStream();
			   int lido;
			   while((lido = input.read()) != -1)
			      output.write(lido);
                           dados = output.toByteArray();
                           output.close();
			}
		} catch (Exception e) {
	} finally {
		try {
		    	if(!(httpConnection == null))
		    	  httpConnection.close();
		    	if (!(input = null))
			    input.close();

		} catch (Exception ee) { ee.printStackTrace(); }
		}
	}
M

Ola LecaDF!

Uns dos problemas acabou, mas quando eu executo

im = Image.createImage(dados, 0, dados.length);

o sistema retorna null!!!

O negocio e que dados.length retorna o tamanho da imagem. To ficando louco!!!

Pego a maioria dos fontes na net e nao da certo.

Quando eu tento pelo opera para Symbiam serie 60 ele consegue trazer a imagem

No emulador tambem funciona!

Outra coisa!!! Quando executo a url abaixo ele me retorno o codigo 404 do html e o certo eu para retornar false;

String url = “http://www.volksclube.com.br/webform1.aspx?codFuncao=01”;

Me ajudem por favor!!!

Criado 25 de julho de 2005
Ultima resposta 25 de jul. de 2005
Respostas 3
Participantes 3