首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Android获取上次上传的镜像在firebase存储中的路径?

如何使用Android获取上次上传的镜像在firebase存储中的路径?
EN

Stack Overflow用户
提问于 2017-01-07 20:36:56
回答 0查看 2.4K关注 0票数 0

我已经学会了如何从图库中选择图像,如何将其上传到firebase存储中,并将其显示在onActivityResult中,一切都很正常。我的问题是,当我重新启动活动时,映像就消失了。这是我的代码:

代码语言:javascript
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == PICK_PHOTO && resultCode == RESULT_OK) {
        Uri uri = data.getData();

        StorageReference photoStorageReference = storageReference.child("Photos").child(uri.getLastPathSegment());
        String path = storageReference.getPath(); //get the path of the last uploaded image
        photoStorageReference.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                Uri downloadUri = taskSnapshot.getDownloadUrl();
                Picasso.with(StorageActivity.this).load(downloadUri).fit().centerCrop().into(imageView);
            }
        });
    }
}

我已经创建了一个名为displayLastImage()的方法。当我像这样从onCreate调用这个方法时:

代码语言:javascript
复制
private void displayLastImage() {
    StorageReference newStorageReference = storageReference.child("Photos/car.jpg");
    Glide.with(this).using(new FirebaseImageLoader()).load(newStorageReference).into(imageView);
}

完美工作,但当我使用path而不是"Photos/46"onCreate调用方法时,如下所示:

代码语言:javascript
复制
private void displayLastImage() {
    StorageReference newStorageReference = storageReference.child(path);
    Glide.with(this).using(new FirebaseImageLoader()).load(newStorageReference).into(imageView);
}

我得到这个错误:java.lang.IllegalArgumentException: childName cannot be null or empty。如何获取上一张上传图片的path,以便正确显示?

提前感谢!

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41521509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档