[androidbrasil-dev] Enviando arquivos com o Retrofit 2

Olá pessoal, bom dia.

Estou com problema em enviar arquivos com o Retrofit 2, segue o Json que a API espera, a tag arquivo espera o arquivo e quando a API salva o arquivo passa a informar o link para baixá-lo:
{
"id": 2,
"grupo": 1,
"usuario": 2,
"texto": "Testando....",
"midia": {
"tipo": "jpg",
"size": "",
"arquivo": "http://cdn.ongrace.com/midia/a3714c0c-a5a0-4f55-857a-37bb7ba99a6c.png"
},
"data_publicacao": "2016-10-18T11:14:44Z"
}

No app Android, estou enviando da seguinte maneira:
Na classe que envia:
RequestBody grupoId = RequestBody.create(MediaType.parse("text/plain"), ""+grupo.getId());
RequestBody usuarioId = RequestBody.create(MediaType.parse("text/plain"), ""+UsuarioDao.getUsuario(getActivity()).getId());
RequestBody texto = RequestBody.create(MediaType.parse("text/plain"), inputMsg.getText().toString());
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"), new File(PhotoUtil.getPath()+"avatar.jpg"));
RequestBody data = RequestBody.create(MediaType.parse("text/plain"), "2016-10-27T12:32:42Z");
RequestBody size = RequestBody.create(MediaType.parse("text/plain"), "111");
RequestBody tipo = RequestBody.create(MediaType.parse("text/plain"), "jpg");

A interface:
@Multipart
@POST("grupo/mensagem/feed/")
public Call<Void> enviarMensagem(@Part("grupo") RequestBody grupoID, @Part("usuario") RequestBody usuarioID, @Part("texto") RequestBody texto, @Part("request[midia][tipo]") RequestBody tipo, @Part("request[midia][size]") RequestBody size, @Part("[midia][arquivo]\";filename=\"qq.jpg ") RequestBody file, @Part("data_publicacao") RequestBody data);

--
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/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário