Converter para base64

Olá, estou usando o getDocumentContent dentro de um dataset para pegar o conteúdo de um arquivo.

Preciso mandar esse conteúdo em base64 para um serviço via rest. Alguém sabe me dizer como faço essa conversão? O Fluig não reconhece o btoa do Javascript, e também não consegui importar alguma biblioteca java para converter.

Edit: Formas que tentei converter para base64:

var retorno = service.getDocumentContent("user", "senha", 1, 7936, "user", 1000, "arquivo.jpg");
    var retornoBse64 = java.util.Base64.getEncoder().encode(retorno);

Porém, isso me entrega algo como "[B@312321"

Também tentei:

var retorno = service.getDocumentContent("user", "senha", 1, 7936, "user", 1000, "arquivo.jpg");


var result = [];
for(var i = 0; i < retorno.length; ++i){
    result.push(java.util.Base64.getEncoder().encode(String.fromCharCode(retorno[i])));
}

Mas isso também não traz nada satisfatório.

Obrigado.

compartilhar
  • Boa tarde Claudio, tentou com java.util.Base64.getEncoder().encode(new java.lang.String('minha string').getBytes()); ou java.util.Base64.getDecoder().decode(encodedBytes);?

    Diogo Boegershausen   30 de Jul de 2018
  • Diogo, eu tentei, mas para ser sincero, não sei tentei da forma correta. Vc já fez isso antes, sabe se dizer como ficaria? Pq apenas dar um decode no retorno do método não resolve.

    Claudio Neto   30 de Jul de 2018
  • Existe também o método encodeToString no encoder: java.util.Base64.getEncoder().encodeToString(retorno);, que vai te retornar uma String no lugar do byte[]

    Diogo Boegershausen   31 de Jul de 2018
  • Mano, muito obrigado!!! Eu estava nesse instante iniciando um projeto no Visual Studio para criar um webservice intermediário!!! Caraca, Deus te abençoe! Valeuzão!!!

    Claudio Neto   02 de Aug de 2018
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags base64 rest documento ou faça a sua própria pergunta.