Consumir JSON e receber um UploadedFile na mesma requisição.

317 views
Skip to first unread message

Dev.Softhouse

unread,
Apr 17, 2013, 7:58:34 PM4/17/13
to caelum-...@googlegroups.com
Olá pessoal.

Alguém sabe se é possível consumir um JSON e ao mesmo tempo receber um arquivo?
Obrigado.

@Consumes("application/json")
@Post("/contact")
public void save(Contact contact, UploadedFile image) {
..................
}

Chico Sokol

unread,
Apr 18, 2013, 12:25:12 PM4/18/13
to caelum-...@googlegroups.com
Posso estar falando besteira, mas acho que você vai ter que mandar o
binário dentro do json. Eu acho que essa cara faz isso:
http://jquery.malsup.com/form/#file-upload

Você pode tentar ver como ele coloca o binário no json e copiar aí. Só
não sei se o gson/xstream vão suportar isso na desserialização.






--
Chico Sokol
> --
> You received this message because you are subscribed to the Google Groups
> "caelum-vraptor" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to caelum-vrapto...@googlegroups.com.
> To post to this group, send email to caelum-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/caelum-vraptor?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Lucas Cavalcanti

unread,
Apr 18, 2013, 1:58:40 PM4/18/13
to caelum-vraptor
não vai rolar... pq a requisição de upload já tem um content-type: multipart/form-data, não dá pra usar application/json também.

O cliente disso é o browser ou é outro sistema? 


2013/4/18 Chico Sokol <chico...@gmail.com>

Marcelo Fabricio de Mello

unread,
Apr 18, 2013, 2:33:49 PM4/18/13
to caelum-...@googlegroups.com
Olá pessoal,

posso estar falando uma baita besteira, MASS e se converter primeiro para base64
como neste site ( http://www.miraclesalad.com/webtools/image_encoder.php ) ???

E não utilizar o content-type: multipart/form-data !

Não fiz teste, mas lembrei desta conversão para base64.
Como falei, provavelmente uma baiita besteira estou falando para vcs. rssss

Abraço

Rafael Ponte

unread,
Apr 18, 2013, 3:27:46 PM4/18/13
to caelum-...@googlegroups.com
Olá,

Você pode encodar em base64 e adicionar à uma propriedade do seu json. Daí no server-side você faz o inverso.


2013/4/18 Marcelo Fabricio de Mello <marcel...@gmail.com>

Dev.Softhouse

unread,
Apr 18, 2013, 3:50:47 PM4/18/13
to caelum-...@googlegroups.com
Olá a todos, desculpe só responder agora, mas estava longe do computador.
Então o cliente é o browser mesmo, eu estou testando no google chrome.
E o código javascript é do Extjs.

Dev.Softhouse

unread,
Apr 18, 2013, 3:53:26 PM4/18/13
to caelum-...@googlegroups.com
Rafael esse encode eu faço no cliente por javascript?
O procedimento é o mesmo que o Marcelo indicou?
 
Obrigado a todos pelas respostas.

Marcelo Fabricio de Mello

unread,
Apr 18, 2013, 4:02:49 PM4/18/13
to caelum-...@googlegroups.com
Na minha opinião seria, o mesmo procedimento.
Basta encodar/base64 (como Rafael falou), e aí passar para o seu json o resultado da imagem na base64.
E enviar, mais uam vez não testei não fiz, mas creio q dê certo. Só acho que essa base64 é só para imagens.


Marcelo Fabricio de Mello

unread,
Apr 24, 2013, 1:20:41 AM4/24/13
to caelum-...@googlegroups.com
Ainda respondendo a sua pergunta.
Acabei de encontrar isso.

Não sei se vc chegou a implementar. 
Mas fico feliz por não ter dado um chute tão feio assim. rsss
Abraço

Reply all
Reply to author
Forward
0 new messages