BLOG
FILTROS
TAGS MAIS USADAS
Como enviar arquivos via HTTP no Android
-
AUTOR
Hildi
TAGs android, desenvolvimento, sdk
0 COMENTÁRIOS-
Tweet
Quem algum dia precisou fazer envio de arquivos mais elaborado via http no Android, já deve ter percebido que não existe um HttpEntity especial para isso. Foi ao passar por este problema que precisei buscar alternativas e é este o tema deste post.
O problema era fazer envio de arquivo como multipart/form-data-encoded e o Android não traz essa funcionalidade nativamente. Para fazer esse tipo de envio, descobri o MultipartEntity, que faz parte do HttpClient da Apache.
Antes de utilizá-lo, lembre-se de incluir os jars do HttpClient no seu projeto. Veja como o MultipartEntity funciona no exemplo abaixo:
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, boundary, Charset.defaultCharset());
byte[] data = //seu arquivo em array de bytes
ByteArrayBody b = new ByteArrayBody(data, "image/png", "nome_arquivo.png");
entity.addPart("file", b);
in.close();
Neste exemplo, vale lembrar que é preciso passar o boundary e seu arquivo em formato de array de bytes. Você pode passar seu arquivo de outras maneiras, além do ByteArrayBody, existem outros tipos como: AbstractContentBody, FileBody, InputStreamBody e StringBody. Veja a documentação aqui para saber mais detalhes.
Espero que a dica também seja útil a vocês!





+55 21 3553-1898