Enviar bytes por servlet. É possível?

Eu gravo os vídeos e converto em bytes no celular, queria saber se tem como enviar esses bytes com servlet para o servidor.
Obrigado

Você pode enviar em um form multipart/form-data via POST, que nem fazemos o upload de uma imagem. O servlet só tem que pegar os bytes recebidos pelo servidor e trabalhá-los.

Comece o projeto e poste aqui para irmos ajudando mais.

[]s :wink:

[quote=kinow]Você pode enviar em um form multipart/form-data via POST, que nem fazemos o upload de uma imagem. O servlet só tem que pegar os bytes recebidos pelo servidor e trabalhá-los.

Comece o projeto e poste aqui para irmos ajudando mais.

[]s :wink: [/quote]

Blz cara, vlw vo tenta aqui depois eu posto :wink:

Seguinte, pra enviar pra servlet to fazendo assim:

    class UploadToServer extends Thread
    {
        public void run()
        {
            Upload();
        }

        public void Upload ()
        {
            HttpConnection http = null;
            OutputStream oStrm = null;
            InputStream iStrm = null;    
            boolean ret = false;
            
            String url = "127.0.0.1/ServerVideo";
            
            try
            {
                http = (HttpConnection) Connector.open(url);
                oStrm = http.openOutputStream();
             
              http.setRequestMethod(HttpConnection.POST); 
              
              http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

              byte data[] = ("teste=" + output).getBytes();
              oStrm.write(data);

              iStrm = http.openInputStream();      
     
              //ret = processServerResponse(http, iStrm);
              if (iStrm != null)
              iStrm.close();

              if (oStrm != null)
              oStrm.close();
              
              //if (http != null)

              http.close();
            }

            catch (IOException e)
            {
                e.printStackTrace();
            }
            
        }
    }

Só que to em dúvida como pegar os bytes na servlet.

Eae crashov3r,

vi sua mensagem e vim dar uma olhada.

Hoje a noite vou tentar fazer o código de exemplo pra você, é que estou um pouco enrolado agora :wink:

[]ssss

ow blz cara, vlw…

Yo Crashov3r,

não tive tempo de abrir o Eclipse e codificar um bom exemplo pra você :frowning: . Mas achei um exemplo na net que aposto que funciona.

Cliente

[code]HttpConnection c = (HttpConnection) Connector.open(“http://www.domain.com/url”);
c.setRequestMethod(HttpConnection.POST);
byte[] data;
// data should be filled with binary data to send
c.setRequestProperty(“Content-Length”, Integer.toString(data.length));

OutputStream sending = c.openOutputStream();
sending.write(data);
sending.close();[/code]

Servlet

// This is a sample String strData = "name=" + game.getName() + "&score=" + game.getScore(); byte[] data = strData.getBytes();

Agora não entendi porque colocou em uma Thread… do jeito que está não rodaria sem parar diversas vezes seguidas?

[]ssss

Tpw, coloquei numa thread pq se ñ tava dando uns errinhos meio locos, mas de qualquer forma teria d usar pq to bolando uma ideia… não sei se vai dar certo, de tpw, enviar o video em tempo real enquanto é gravado. Não consegui pensar em outra alternativa, pois me falaram que eu não posso ter acesso aos bytes enquanto não parar a gravação. Então pensei em jogar essa thread em um laço… meio loco neh?

Iii cara, não saquei direito como pega os dados pela servlet, certeza q é o método pra pegar bytes do outputstream e enviar para a servlet?

Ninguem? :?

:cry:

servlet

[code]
String xmlStr = new String();

			int ch;
			
			ByteArrayOutputStream bStrm = new ByteArrayOutputStream();
	       while ((ch = in.read()) != -1)
	        	bStrm.write(ch);
	        		        
	        xmlStr = new String(bStrm.toByteArray());
	        bStrm.close();
			
			ParserXml parse = new ParserXml(xmlStr);
			boolean isPersist = parse.persistXml();
			if(isPersist)
				out.write("OK");
			else{
				error = true;
			}
			return;[/code]

[quote=Norxs]servlet

[code]
String xmlStr = new String();

			int ch;
			
			ByteArrayOutputStream bStrm = new ByteArrayOutputStream();
	       while ((ch = in.read()) != -1)
	        	bStrm.write(ch);
	        		        
	        xmlStr = new String(bStrm.toByteArray());
	        bStrm.close();
			
			ParserXml parse = new ParserXml(xmlStr);
			boolean isPersist = parse.persistXml();
			if(isPersist)
				out.write("OK");
			else{
				error = true;
			}
			return;[/code][/quote]

hum, blz…
eu to mandando os bytes assim:

[quote]byte data [] = output.toByteArray();
oStrm.write(data);[/quote]
mas não entendi com que parte eu puxo os bytes enviados.

use a Força … ehhehehe

tu não puxa nada … que se responsabilisa disso é o servlet

kkkkk, eu sei, mas um exemplo: quando eu pego uma string pela servlet eu uso:

no caso q vc me passou onde q é a parte q eu faço isso? :S

tu vai pegar o request …o que recebe …

pra enviar tu usa o response

cara, tu ta passando ali pra pegar um inputstream? mas eu to mandando um output e ai?
ja aproveitando, eu to pensando em fazer isso pra um envio em tempo real de vídeo, to tentando transmitir os vídeos para uma servlet, vc teria alguma idéia melhor?

Mais alguem? :frowning:

Aqui não é Orkut para você ficar dando UP no seus posts. Tenho acompanhado e visto que tem usado desta prática.

Tenha paciência, pois alguém, alguma hora responde. Se todo mundo ficar dando UP que nem você, isto vira uma zona.

Aqui não é Orkut para você ficar dando UP no seus posts. Tenho acompanhado e visto que tem usado desta prática.

Tenha paciência, pois alguém, alguma hora responde. Se todo mundo ficar dando UP que nem você, isto vira uma zona.[/quote]

Na boa… eu sei q isso aki naun eh orkut, soh perguntei se tinha mais alguem pra me ajuda, o topico eh me…
Se vc naun tah afim de me ajuda ou naun sabe ou nem quer saber… não atrapalhe