当前位置: 首页 > 知识库问答 >
问题:

Android Firebase-从存储中删除上传的图像

闾丘书
2023-03-14

我正在开发一个功能,以删除上传的文件。我目前可以删除云Firestore中的引用,但无法将其从存储中删除。下面的代码应该从存储中删除,但它不起作用

    private void deleteImage(String id, final int position, String fileUrl) {

    StorageReference storageRef = FirebaseStorage.getInstance().getReference("uploads");

    // Create a reference to the file to delete
    StorageReference fileRef = storageRef.child(fileUrl);

    // Delete the file
    fileRef.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
        @Override
        public void onSuccess(Void aVoid) {
            // File deleted successfully
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            // Uh-oh, an error occurred!
        }
    });
}

错误消息是“没有请求的auth标记。StorageException已发生。对象在位置不存在。HttpResult:404”。我以为这个问题与我的fileUrl字段有关,但我不确定。fileUrl是下载图像的url,例如,如果我将url复制并粘贴到web浏览器上,我可以看到图像。为什么不工作?

共有1个答案

嵇弘新
2023-03-14

正如@BlackApps评论的那样,我使用的下载url不适合作为文件的引用,所以我将fileUrl参数的值更改为“filename.file_extension”。代码还是一样的,我只是改变了参数值。

 类似资料:
  • 问题是,当删除的映像(“test.jpg”)和上传的映像(“test.jpg”)的名称相同时,当我调用新上传的文件(我认为它已经缓存)时,将提供旧文件 无论如何,我可以永久删除这个文件而不缓存它吗?

  • 在firebase storage的web sdk中,您可以从Blob数据上载图像。我有一个nodeJS应用程序,想将blob数据中的图像上传到我的存储桶中。在文档中,如果运行节点服务器环境,建议使用AdminSDK。但我在firbase存储管理文档中找不到此功能。 这是我的密码:

  • 如何从Android客户端上传图像到GAE(Google App Engine)数据存储? 尚未找到教程,已尝试了7天。

  • 所以。烦人。 为简洁起见编辑: 类似问题的答案state将修复问题,但我做错了吗?因为它说它不匹配任何文件?也许是因为我运行了git重置?

  • 我有一个问题与我的代码,我必须上传图像到Firebase存储,我需要的图像来自画廊和相机,从画廊的图像是好的,但来自相机的图像给问题,图像加载在ImageView和被发送到数据库是黑色的。有人知道如何解决这个问题吗,或者你知道任何其他加载图像的方法吗? 来自画廊 从相机

  • 我有一个Laravel项目,我试图用Storage::delete删除图像,但它似乎不起作用。我的图像位于storage\app\public\uploads文件夹中。我可以上传和编辑图像,但删除不起作用。我使用的是Laravel 8。 产品控制器。PHP PHP 网状物PHP 配置/文件系统。PHP