- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 Firebase 云存储和实时数据库。在第一个中,我上传了一张图片,然后我尝试在后者中保存 downloadUrl。在将 Firebase pod 更新到 5.0.0 以使用 MLKit 之前一切正常。在 StorageService 中,我正在上传图像(有效,我可以在 firebase 控制台上看到它),然后在 PostService 中创建一个包含我所有需要的字典
struct StorageService {
static func uploadImage(_ image: UIImage, at reference: StorageReference, completion: @escaping (URL?) -> Void) {
guard let imageData = UIImageJPEGRepresentation(image, 0.5) else {
return completion(nil)
}
reference.putData(imageData, metadata: nil, completion: { (metadata, error) in
if let error = error {
assertionFailure(error.localizedDescription)
return completion(nil)
}
completion(metadata?.downloadURL())
})
}
}
struct PostService {
static func create(for image: UIImage) {
let imageRef = StorageReference.newPostImageReference()
StorageService.uploadImage(image, at: imageRef) { (downloadURL) in
guard let downloadURL = downloadURL else {
return
}
print("bum")
let urlString = downloadURL.absoluteString
let aspectHeight = image.aspectHeight
create(forURLString: urlString, aspectHeight: aspectHeight)
}
}
private static func create(forURLString urlString: String, aspectHeight: CGFloat) {
//save the text
let currentUser = User.current
let post = Post(imageURL: urlString, imageHeight: aspectHeight)
let dict = post.dictValue
let postRef = Database.database().reference().child("posts").child(currentUser.uid).childByAutoId()
postRef.updateChildValues(dict)
}
}
最佳答案
有一个breaking change在 Firebase iOS SDK 5.0 中删除了 StorageMetadata 上的 downloadURL
属性。使用 StorageReference.downloadURL(completion:)
获取当前下载 URL。
reference.downloadURL { url, error in
if let error = error {
// Handle any errors
} else {
// Get the download URL
}
}
关于ios - FirebaseStorage 无法为元数据创建 downloadURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50258851/
我正在使用 AngularFireStorage 构建上传图像服务。有问题。 没有人能告诉我如何订阅 downloadurl 吗?这是我的服务: 此服务可能已失效? uploadImage(image
我正在建立一个网站,其中包括照片库功能。在图库页面中,有一个带有多个标记的 map (谷歌),每个标记都与特定的照片相关。 我的数据库中有一个“标记”表: markers: id | na
因此,我使用 Firebase 存储来上传我的网站文件。以下是目录结构的示例: Project ├── index.html ├── css │ └── style.css └── js
我对旧语法有一些问题,例如: metadata?.downloadURL()?.absoluteString" 如何在我的代码中使用新方法?这部分代码错误: let downloadURL = met
我正在使用此代码更新图像并获取 URL,但无法取回 URL。 看来return some是因为它可以进入promise的return中。 我从这里获取此代码:https://gist.github.c
func uploadProfileImage(_ image:UIImage, completion: @escaping ((_ url:URL?)->())) { guard let u
我正在尝试使用 Firebase 云存储和实时数据库。在第一个中,我上传了一张图片,然后我尝试在后者中保存 downloadUrl。在将 Firebase pod 更新到 5.0.0 以使用 MLKi
这个问题在这里已经有了答案: Value of type 'StorageMetadata' has no member 'downloadURL' (6 个答案) 关闭 4 年前。 我使用下面的代
我的应用程序中有这段代码,我用它上传图像并获取其 url,以便我可以将其保存在数据库中,该图像采用 Base64 格式,并且上传成功,正如我在 console.log(snapshot); 输出中看到
您好,我是 javascript 的新手,可以使用一些帮助来修改此 downloadUrl 函数以返回调用的 xml 文档。 function downloadUrl(url, callback) {
为了能够理解上述函数,我仔细寻找了解释。我遇到的情况是在 Google Maps API 文档中: function downloadUrl(url, callback) { var reques
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
嘿,我需要有关此编码的帮助,我不确定发生了什么。前几天还在工作。 if let ur; 之后出现错误= 元数据?.downladURL() func uploadProfileImage(_ imag
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我刚刚将 Firebase Storage 更新到 5.0.0,但 metadata.downloadURL() 似乎不再被识别。 (“StorageMetadata”类型的值没有成员“downloa
我在使用 downloadURL =metadata.downloadURL 时遇到问题。 let 必须在前面才能工作吗?当我这样做时,它说 definition conflicts with pre
嘿,我需要有关此编码的帮助,我不确定发生了什么。前几天还在工作。 if let ur; 之后出现错误= 元数据?.downladURL() func uploadProfileImage(_ imag
我正在处理存储 Firebase,我正在尝试获取 URL 并将其设置为变量,不幸的是我无法做到这一点,我的代码有问题。有人可以帮我吗? 这是错误: firebase.js:1 Uncaught (in
我是一名优秀的程序员,十分优秀!