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
Enviar bytes por servlet. É possível?
20 Respostas
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 
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
![]()
Blz cara, vlw vo tenta aqui depois eu posto 
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 
[]ssss
ow blz cara, vlw…
Yo Crashov3r,
não tive tempo de abrir o Eclipse e codificar um bom exemplo pra você :( . Mas achei um exemplo na net que aposto que funciona.
Cliente
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();
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? :?

servlet
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;
servletString 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;
hum, blz...
eu to mandando os bytes assim:
byte data [] = output.toByteArray();
oStrm.write(data);
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? 
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.
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
class UploadToServerThread extends Thread {
public void run() {
uploadVideo();
}
public void uploadVideo() {
try {
if ( output != null ) {
byte[] bytes = output.toByteArray();
DTOMediaStoreIn aDTOMediaStoreIn
= new DTOMediaStoreIn();
aDTOMediaStoreIn.inpByteArray = bytes;
aDTOMediaStoreIn.extension =
JMEUtility.findFileExtension(contentType);
DTOMediaStoreOut aDTOMediaStoreOut =
HttpCommandExecuter.getInstance().
executeHttp(aDTOMediaStoreIn);
if ( aDTOMediaStoreOut != null ) {
if ( aDTOMediaStoreOut.successFlag != null &&
aDTOMediaStoreOut.successFlag.equals("S") ) {
//Show success alert
}
else {
//...
}
}
else {
//...
}
}
else {
//...
}
}catch(Exception e) {
e.printStackTrace();
//...
}
}
private DTOMediaStoreOut storeMedia(DTOMediaStoreIn inDTO) {
System.out.println("Inside Media Store...");
DTOMediaStoreOut ret = new DTOMediaStoreOut();
ret.successFlag = "X";
if ( inDTO != null ) {
String currentNo = getCurrentNo();
FileOutputStream aFileOutputStream ;
try {
aFileOutputStream =
new FileOutputStream(fileLocationBase + "/" +
currentNo + "." + inDTO.extension);
aFileOutputStream.write(inDTO.inpByteArray);
aFileOutputStream.close();
ret.successFlag = "S";
System.out.println("Successfully stored the content");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return ret;
}
}
}