Como enviar detalhes de uma pessoa e várias imagens via JSON no Android
Você tem duas opções
1) Envie o link da imagem :- Isso só é possível quando você tiver armazenado sua imagem em um servidor de arquivos. Então quando você armazena imagens diz img1,img2 e assim por diante agora você pode enviar o caminho fonte(url) da imagem no JSON que você criou.
JSON
profile:{
name: "Raj",
images:[ ' fileserver/images/image1 ' , ' fileserver/images/image2 ' ]
}
2)Convertendo imagem para Base64 :- Se você não armazenou a imagem em nenhum servidor e quer enviá-la em JSON a melhor opção é convertê-la em uma String Base64 e então como ela se torna um objeto String normal você pode usá-la no JSON que você está fazendo e então enviá-la.
- String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT);
You'll have to convert your image into a byte array though. Here's an example:
- Bitmap bm = BitmapFactory.decodeFile("/path/to/YOURIMAGE.jpg");
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- bm.compress(Bitmap.CompressFormat.JPEG, 100, baos); //bm is the bitmap object
- byte[] b = baos.toByteArray();
Here you can see that the image stored in the phone is first converted to bytes and then is encoded in form a sting using base64.
Nota: - Depende totalmente do seu uso como você está tendo as imagens. se você tem a loja globalmente no servidor de arquivos e tem o caminho para eles, então você pode com o primeiro método onde no seu apenas usando o caminho em JSON, caso contrário, se você tem a imagem no armazenamento local, então vá para o segundo método!!
Obrigado!!
Artigos semelhantes
- Porque é que as imagens autocolantes espelham imagens, enquanto as imagens da câmara traseira não espelham?
- Como o Android Studio pode usar os arquivos 'JSON' para criar um aplicativo Android (arquivo APK)?
- Como podemos esconder dados JSON de ferramentas como ferramentas de desenvolvimento Chrome e Firebug, etc., como uma segurança além de 'https'?
- O que eu preciso para fazer um vídeo cappella de alta qualidade, uma pessoa, com várias pistas?