Por exemplo... hoje eu mando um objeto Mensagem da seguinte forma para o WS RestFul
public String inserirMensagem(Mensagem mensagem) throws Exception {
Gson gson = new Gson();
String MensagemJSON = gson.toJson(mensagem);
String[] resposta = new WebServiceMensagem().post(URL_WS + "inserir", MensagemJSON);
if (resposta[0].equals("200")) {
return resposta[1];
} else {
throw new Exception(resposta[1]);
}
}
O método no WS está assim...
@POST
@Path("/inserir")
@Produces("application/json")
@Consumes("application/json")
public String inserirMensagem(Mensagem mensagem) {
return new MensagemBusiness().inserir(mensagem);
}
A classe MensagemBusiness faz o insert na base de dados. No caso eu queria criar um novo objeto como por exemplo Pessoa....
public class Pessoa { nome,telefone,imagem }
Com seu Business, e DAO como esse objeto Mensagem ai. Minha dúvida e como eu vou modificar o método post para pode enviar tanto as informações do objeto Pessoa (como nome,telefone,etc) como a imagem também sem modificar drasticamente a estrutura/lógica do WS... por exemplo... o post desse objeto Mensagem...
public final String[] post(String url, String json) {
String[] result = new String[2];
try {
HttpPost httpPost = new HttpPost(new URI(url));
httpPost.setHeader("Content-type", "application/json");
StringEntity sEntity = new StringEntity(json, "UTF-8");
httpPost.setEntity(sEntity);
HttpResponse response;
response = HttpClientSingleton.getHttpClientInstace().execute(httpPost);
HttpEntity entity = response.getEntity();
if (entity != null) {
result[0] = String.valueOf(response.getStatusLine().getStatusCode());
InputStream instream = entity.getContent();
result[1] = toString(instream);
instream.close();
Log.d("post", "Result from post JsonPost : " + result[0] + " : " + result[1]);
}
// ...... e só return e tratamento de erro
@Jonathans Coelho não encontrei nada a respeito na web. Você tem algum link pra indicar ?
Em 28 de maio de 2013 10:52, Fred <fredferrao@gmail.com> escreveu:
//trollManda por sedex q chega mais rápido.Nao resisti hehe, sei que deve ter sido o corretor.Uma busca rápida no google ajuda tambem: http://stackoverflow.com/questions/2935946/sending-images-using-http-postEm 28 de maio de 2013 09:47, Henrique Melo <henrique1985@gmail.com> escreveu:
Não necessariamente.
Como vc vai mandar um formulário via postal, vc pode mandar o file e outros elementos.
Logo mais eu posto como foi a minha solução.Em 28/05/2013 08:56, "Diogo Henrique" <diogjp10@gmail.com> escreveu:--Então eu vou ter que fazer bem diferente de como eu faço não e ? porque hoje eu mando um Objeto. No caso eu vou ter que mandar esse Objeto e depois a imagem.. não e ? ou eu to viajando ?--
Em 28 de maio de 2013 00:31, Ernani Joppert Pontes Martins <joppert@gmail.com> escreveu:Via http post, vc faz um post com multipart/form-data e encapsula o arquivo como file...[]'sErnani2013/5/27 Diogo Henrique <diogjp10@gmail.com>
@POST@Consumes(MediaType.MULTIPART_FORM_DATA)public Response uploadFile(@FormDataParam("file") InputStream uploadedInputStream,@FormDataParam("file") FormDataContentDisposition fileDetail) {String uploadedFileLocation = "c://uploadedFiles/" + fileDetail.getFileName();// save itsaveToFile(uploadedInputStream, uploadedFileLocation);String output = "File uploaded via Jersey based RESTFul Webservice to: " + uploadedFileLocation;return Response.status(200).entity(output).build();}Mais como eu passaria essa imagem para esse método do Web Service ? Nesse Web Service que uso eu passo um objeto via JSON. Como eu vou mandar um Objeto com suas informações + a imagem ? tem como ?No Android eu pego a imagem assim... logo quando o cara tira a foto....Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {public void onPictureTaken(byte[] imageData, Camera c) {if (imageData != null) {BitmapFactory.Options options=new BitmapFactory.Options();options.inSampleSize = 5;Bitmap myImage = BitmapFactory.decodeByteArray(imageData, 0,imageData.length,options);FileUtilities.StoreByteImage(imageData,"foto1", "PNG");finish();}}};Em 27 de maio de 2013 15:15, Diogo Henrique <diogjp10@gmail.com> escreveu:
Vai @Diego vou testar isso =D@Thiago kkkkkk porque ta fácil ? E só aplicar o multiplart ?Em 27 de maio de 2013 11:07, Thiago Catoto <tcatoto@gmail.com> escreveu:
Diogo,Tá fácil! =D"Keep it up!"-- Catoto--2013/5/27 Diogo Henrique <diogjp10@gmail.com>@Jonas,@Thiago eu não usei nenhum framework para fazer o Web Service. Eu utilizo o Jax-RS e Jersey. O Web Service e em Java sim, eu usei tutorial do antunes do Portal Android... segue o link http://www.portalandroid.org/comunidade/viewtopic.php?f=7&t=17389@Diego, você tem o link pra compartilhar ? Eu achei esse aqui http://puspendu.wordpress.com/2012/08/23/restful-webservice-file-upload-with-jersey/ poderia ser uma solução ?Em 26 de maio de 2013 20:48, Thiago Catoto <tcatoto@gmail.com> escreveu:
O WS eh em Java? Vc fez usando algum framework?
-- Catoto
On May 26, 2013 6:40 PM, "Diogo Henrique" <diogjp10@gmail.com> wrote:Olá pessoal, estou precisando enviar uma imagem tirada da câmera para um Web Service. Esse Web Service já existe, eu mesmo o criei e tal mas nunca foi necessario receber uma imagem. Pesquisando eu encontrei o esse link http://www.decom.ufop.br/imobilis/?p=889 ele ensina como mandar uma imagem para o Web Service, mas não fala o que fazer no Web Service para receber essa image. Alguém já passou por isso ? Meu Web Service e RESTFul.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
--
"Frederico Ferrão da Silva"--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.






0 comentários:
Postar um comentário