firebase - 如何使用本机图像的url删除firebase存储中的图像?
问题描述
如何使用本机图像的url删除firebase存储中的图像?
这是数据的结构
list {
["https://firebasestorage.googleapis.com/v0/b/testes-109.appspot.com/o/photos%2FmdWs20BYhSdR4XIePdpBL9szC7i2%2F79337645-7aa6-4fa3-ab29-9dae6f41bc6?alt=media&token=a9cc2795-f118-485c-94b9-cdf0c083eb2a", "https://firebasestorage.googleapis.com/v0/b/testes-109.appspot.com/o/photos%2FmdWs20BYhSdR4XIePdpBL9szC7i2%2F79337645-7aa6-4fa3-ab29-9dabe6f41bc6?alt=media&token=a9cc2795-f118-48c-94b9-cdf0c83eb2a", ],
}
我试过这个
<FlatList
data={list}
renderItem={({ item, index }) => {
return (
<View >
<TouchableOpacity onPress={() => this.deleteImage(item)} >
<Image source={{ uri: item }} style={{ width:100, height: 100 }} />
</TouchableOpacity >
</View>
)
}}
/>
deleteImage = (item) => {
alert(item)
var desertRef = item;
desertRef.delete()
.then(function() {
console.log('File deleted successfully')
}).catch(function(error) {
console.log('Uh-oh, an error occurred!')
});
}
但收到此错误
DesertRef.delete 不是函数。(在 'desertRef.delete()' 中,'desertRef.delete' 未定义
解决方案
您需要使用以下功能将其从存储中删除。
let imageRef = storage.refFromURL(<put URL of Image Here>);
imageRef.delete().then(() => {
console.log("Deleted")
}).catch(err => console.log(err))
推荐阅读
- quil - 我已经导入了安装的羽毛笔,但是用户界面的问题
- c++ - 我可以通过将多个 C++ 类编译到同一个目标文件中来改进运行时间吗
- java - 无法使用跨不同机器生成的访问令牌进行身份验证
- qt - 将多字节字符数组转换为 QChar 数组
- javascript - 当数组中有特定值时如何触发打开新窗口
- xaml - 使用 https 更改 Web API url 后图像未显示
- ssh - 如何通过命令行将文件从 Windows 复制到 Linux 机器?
- highcharts - 一些直方图,每个都有不同的数据,但它们都具有相同的 bin 宽度并且 bin 之间没有间隙
- python - 如何在python中使用pandas检查csv文件是否为空?
- azure - 我是否需要使用 azure waf 和 Web 应用程序指向站点 vpn