繁体   English   中英

无法从Firebase删除图片?

[英]Unable to delete image from firebase?

我想使用图像的下载URL从Firebase删除图像。 将网址复制并粘贴到浏览器中后,我便可以查看文件了。 但是,当我通过下面的函数在firebase中传递它时,它不会被删除。

func removeMediaFromFirebase(url:String) {        
    let imageRef = FIRStorage.storage().reference(forURL: url)
    imageRef.delete { (error) in
        if error != nil {
            DILog.print(items: "Unable to delete \(error.debugDescription)")
        }
    }    
}

它会导致404错误,提示“找不到对象”,但是它与我访问图片的网址完全相同!

据我所知,通过提供图像下载URL进行删除功能无法从Firebase存储中删除图像。

应该用作参数的URL是文件的存储路径,而不是实际的文件URL。 因此,请勿使用downloadURL函数获取文件url,而应使用文件路径。 他们的网站上有很棒的文档,我认为您应该通读它以熟悉它。

无论如何,以下是该URL实际含义的示例:

let imageURL = "/path/to/image.jpg"
let imageReference = FIRStorage.storage().reference(forURL: imageURL)

或者这样:

let imageReference = FIRStorage.storage().reference().child("/path/to/image.jpg")

获取图像参考后,可以对其执行删除操作:

imageReference.delete { error in
  if let error = error {
    // Uh-oh, an error occurred!
  } else {
    // File deleted successfully
  }
}

这样,它应该可以工作。 要查看更多示例,请参阅Firebase文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM