Autore Topic: Prelevare immagine da server  (Letto 450 volte)

Offline Tiru

  • Utente junior
  • **
  • Post: 51
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Prelevare immagine da server
« il: 31 Agosto 2017, 21:38:45 CEST »
0
Salve, sto creando un app che dovrebbe interagire con un server per recuperare un immagine,
l'immagine (presente nel mio desktop) viene presa correttamente dal server e passata al device dopo essere stata trattata (trasformata prima in stringa e poi in byte[]) al device arriva la stringa che viene trasformata in byte[] e poi in bitmap solo che non effettua questo passaggio (byte[] --> bitmap) ma passa oltre lasciando bitmap a null;

Ecco il codice relativo al mobile:
Codice (Java): [Seleziona]
//la matrice contiene la stringa dell' immagine
String stringa = wResponse[0][0].trim();

byte[] imgbytes = Base64.decode(stringa, Base64.DEFAULT);

Bitmap  bitmap = BitmapFactory.decodeByteArray(imgbytes, 0, imgbytes.length);

photo.setImageBitmap(bitmap);


ed ecco quello relativo al servlet:
Codice (Java): [Seleziona]
// anImageName contiene il percorso dell'immagine
File file = new File(anImageName);

String imageDataString = null;

FileInputStream imageInFile = new FileInputStream(file);

byte imageData[] = new byte[(int) file.length()];

imageInFile.read(imageData);

// Converting Image byte array into Base64 String
imageDataString = Base64.encodeBase64URLSafeString(imageData);
byte[] bytes = imageDataString.getBytes();
       
anOutStream.write(bytes);
anOutStream.close();

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 804
  • Respect: +168
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 10 x64
Re:Prelevare immagine da server
« Risposta #1 il: 01 Settembre 2017, 09:22:10 CEST »
0
Verifica anzitutto che "wResponse[0][0].trim()" sia la stringa inviata dal server.

Potrebbe banalmente trattarsi di un problema di formato dell'immagine. Prova con immagini differenti, magari un PNG (ammesso che non lo sia già).

P.S.: Come mai la conversione in base64?
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Tiru

  • Utente junior
  • **
  • Post: 51
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows 10
Re:Prelevare immagine da server
« Risposta #2 il: 02 Settembre 2017, 10:10:04 CEST »
0
problema risolto...le stringhe erano uguali ma diverse, ovvero il contenuto è uguale ma cambiava i + con i - e / con _ quindi è bastato un semplice string.replace('-','+');
« Ultima modifica: 02 Settembre 2017, 15:30:37 CEST da Tiru »