1

Ben veri deposuna içine (Android'den) Google Maps anlık depolamak çalışıyorum ama bazı sorunları yaşıyorum:Android uygulamasından Datastore/Google Cloud Storage'a görüntü depolamanın en iyi yolu nedir?

anlık i stringify bir bayt dizisi dönüştürülen bitmaptir ama bunun nedeni düşük çöktü vekil karakter.

Bunu, StringUtils.newStringUtf8(byteAray)'u new String(byteArray, Charset.forName("ISO-8859-15")) olarak değiştirerek çözerim.

Artık, "413 hatası: istek çok uzun" olduğu için varlığımı kaydetmeyecek.

bilgi için buraya i bayt dizisi olsun edebilirsiniz:

ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 50, stream); 
    byte [] bytes = stream.toByteArray(); 

Yani ben veri deposuna verimli olduğunu bitmap (veya başka bir çözüm) benim Android'de geri başka bir yere elde edebilmek için saklayabilirsiniz nasıl uygulama

cevap

1

hata alıyorsanız:

hata 413: istek

Sen istemci küçük anlık yaparak çözebilir çok uzun. Oldukça eminim ki, modern telefonların çoğu anlık görüntüsü 1MB'nin üzerinde olacak, bu yüzden detastore sadece 1MB'ın altında Base64 kodlanmış dizesini alabildiğinden bu hatayı kesinlikle alacaksınız.

Görüntüyü kodlamadan ve veri mağazasına göndermeden önce küçültmenizi öneririz. Orijinal boyutunu korumak istiyorsanız

, diğer seçenek, bir signed URL oluşturabilir, dava için, özellikle İmzalı yükleme URLLERİ Google Cloud Storage kullanmak ve sonra ona resminizi yüklemektir

İlgili konular