String para byte[]

4 respostas
A

galera to com uma dúvida que não to conseguindo achar uma solução. Seguinte, vou receber por parametro em um post http uma tripa de bytes que representam uma imagem captcha, mas essa tripa de bytes virão como string e preciso converte-las para um array de byte e ai salvar essa imagem para uma possivel validação, só que não faço a minima ideia de como fazer essa conversão, acho que pode ser uma coisa boba, mas tem tanto tempo que to pensando nisso que não consigo mais, me ajudem por favor.

4 Respostas

douglas_vidotto

A classe String tem um método getBytes()…

A

não quero o conteudo em byte quero o valor literal dela convertido em byte, o valor do parametro é uma tripa de byte que representa uma imagem, vou ter que pegar esse valor converter pra byte novamente e criar o arquivo localmente

A

Olá Arthur,

tente isso:
public static byte[] imageToByte(String image) throws IOException {
        InputStream is = null;
        byte[] buffer = null;
        is = new FileInputStream(image);
        buffer = new byte[is.available()];
        is.read(buffer);
        is.close();
        return buffer;
    } 

    public void ByteToImage(byte[] bytes) throws Exception {
        byte[] imgBytes = bytes;
        try {
            FileOutputStream fos = new FileOutputStream("icones_cartoes/icone.jpg");
            fos.write(imgBytes);
            FileDescriptor fd = fos.getFD();
            fos.flush();
            fd.sync();
            fos.close();
        } catch (Exception e) {
            throw new Exception("Erro ao converter os bytes recebidos para imagem");
        }
    }

Espero ter ajudado.

Até

O

Suposição: esta imagem não vem codificado em base64?

Criado 26 de setembro de 2012
Ultima resposta 27 de set. de 2012
Respostas 4
Participantes 4