swift - 将图像上传到 firebaseStorage
问题描述
在过去的一个月里,我一直在构建一个应用程序,您可以在其中上传您最喜欢的回忆。每个记忆都有一张照片、日期、简短描述和它发展的地方。
所以用户能够添加记忆,我为照片部分做了以下功能:
private func agregarRecuerdoFirebase() {
guard let imagenSeleccionada = self.imagen else {
print("No hay imagen")
return
}
guard let imagenData = imagenSeleccionada.jpegData(compressionQuality: 0.4) else {
return
}
let storageRef = Storage.storage().reference(forURL: "gs://chinahub-68043.appspot.com")
let storageRecuerdos = storageRef.child("recuerdos").child("recuerdoss")
let metadata = StorageMetadata()
metadata.contentType = "image/png"
storageRecuerdos.putData(imagenData, metadata: metadata) { (storageMetaData, error) in
if error != nil {
print(error?.localizedDescription)
return
}
}
除了上传到 Firebase 存储之外,一切正常。将一张照片上传到存储后,当我想上传第二张照片时,它不会让我上传。相反,第二个图像将替换第一个图像。 每次我想添加一个新内存时,如何创建一个唯一的 ID,以便我可以在该 ID 下将它存储到存储中? 还是有另一种方法可以实现我想要的?
解决方案
尝试在您的项目中替换以下行
let storageRecuerdos = storageRef.child("recuerdos").child("recuerdoss\(UUID().uuidString)\(Date().timeIntervalSince1970)")
推荐阅读
- php - 数据表:是否可以使用 Ajax 填充 2 列并为其他列使用不同的方式?
- excel - 在下载之前测试 URLDownloadToFile 文件大小以识别不存在的文件
- arrays - 通过重复第一行两次并将其堆叠到前面来扩展数组
- php - 如何突出显示根据表值显示的记录?
- email - 使用 Office 365 发送邮件时 SPF 失败
- javascript - 移动版 Firefox 点击并按住事件
- python - Debian 中的 Python 自动安装脚本
- javascript - Vue-router 不能延迟加载子组件
- sql-server - 将列动态分组到范围中
- c++ - QVTKWidget 已在 VTK 8.1 中弃用,并将在未来版本中删除