我一直试图将uri发送到firebase,但无法获得正确的数据。在success listener中我可以使用什么?
private Bitmap getBitmapFromView(View view, int height, int width) {
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Drawable bgDrawable = view.getBackground();
if (bgDrawable != null)
bgDrawable.draw(canvas);
else
canvas.drawColor(Color.WHITE);
view.draw(canvas);
return bitmap;
}
及以下:
public void saveBitmap(Bitmap bitmap) {
Calendar calendar = Calendar.getInstance();
final String currentDate = DateFormat.getDateInstance(DateFormat.FULL).format(calendar.getTime());
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, baos);
byte[] data = baos.toByteArray();
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("storage details");
StorageReference imagesRef = storageRef.child("details");
UploadTask uploadTask = imagesRef.putBytes(data);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
}
});
}
如何从截图中获取uri?
1条答案
按热度按时间wyyhbhjk1#
您可以获得如下所示的存储url:
一旦你在onsuccess函数中得到url,你就可以把它保存到firebase数据库中。