Skip to content

Enviar arquivos via XML-RPC em Java.

Olá,

Hoje o Jorge me perguntou se eu sabia como enviar arquivos via XML-RPC. Pensando no assunto não me recordava como devia ser feito, resolvi dar uma rápida pesquisada para ensina-lo. Acabei me entretendo e resolvi modificar o Cliente e Servidor Java XML-RPC para fazer o mesmo.

Implementei o mesmo e não foi complexo só olhei a documentação do Apache XML-RPC para ver como eram enviados bytes. Os mesmos eram enviados codificando o array de bytes (byte[]) em Base64. Pesquisei um pouco como fazer isso e achei uma Biblioteca Java de Base64 em dominio publico. Também procurei por como pegar o array de bytes de um arquivo e como criar um novo arquivo apartir de um array de bytes (byte[]).

Esses sites onde peguei ambos os métodos estão como comentarios no arquivo.

XML-RPC-Transferencia-De-Arquivo

Espero que seja útil,
Matheus

PS: Da maneira como eu implementei qualquer arquivo do sistema que o Cliente XML-RPC pedir o Servidor irá enviar, isso criaria uma possivel brecha de segurança.

PS2: Caso deseja que o Cliente envie arquivos para o Servidor, o Cliente deve pegar o array de bytes do Arquivo, codifica-lo em base64 e passa-lo como parametro. O Servidor irá receber este parametro, decodificar após isso manipu-le o array de bytes como você desejar.

Published inAprendendojava

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.