gpt4 book ai didi

ios - 如何删除 Firebase 存储文件?

转载 作者:搜寻专家 更新时间:2023-11-01 07:17:07 24 4
gpt4 key购买 nike

我错过了什么吗?网络上的答案与我做同样的事情但是....下载 url 不再有扩展名所以我的错误说:

"error": {
"code": 404,
"message": "Not Found. Could not delete object"
}

代码:

let url = demo[indexPath.row].downloadUrl
print(url) // shows the url

DataService.ds.REF_RECEIPTS.child(url).delete { (error) in
if error != nil {
print(error)
}
}

那是行不通的。其他人拥有并有效的是 url = "demo.jpg",我的只是一个带有标记但没有文件扩展名的字符串。如果我转到 url,我会看到图像,这是怎么回事?

编辑:

这是我上传图片的方式:

let receiptImageData = UIImageJPEGRepresentation(imagePlaceholder.image!, 0.2)
let metadata = FIRStorageMetadata()
metadata.contentType = "image/jpeg"

let receiptUID = NSUUID().uuidString

DataService.ds.REF_RECEIPTS.child(CURRENT_USER!.uid + "_" + receiptUID).put(receiptImageData!, metadata: metadata) { (metadata, error) in
if let receiptDownloadedUrl = metadata?.downloadURL()?.absoluteString {
self.expenseData(receiptUrl: receiptDownloadedUrl)

// Saving the image/receipt in local cache for faster access
//guard let img = UIImage(data: receiptImageData!) else { return }
//IMAGE_CACHE.setObject(img, forKey: receiptDownloadedUrl as NSString)
}

}

func expenseData(receiptUrl: String) {...}

我也试过 let receiptUID = NSUUID().uuidString + ".jpg" 但同样的问题。

最佳答案

我的引用有误。我不是专家,但我认为这个引用应该有效:DataService.ds.REF_RECEIPTS.child().delete。起作用的是:

let url = demo[indexPath.row].downloadUrl
let imageRef = FIRStorage.storage().reference(forURL: url)
imageRef.delete { (error) in
if let error == error {
// error
} else {
// success
}
}

我几乎不知道 REF_RECEIPTS正在引用存储文件夹,所以这就是我可以 put 的原因但不是 delete .

关于ios - 如何删除 Firebase 存储文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41552897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com