gpt4 book ai didi

ios - 将图像上传到 firebase 时 Swift 应用程序崩溃

转载 作者:可可西里 更新时间:2023-10-31 23:57:32 24 4
gpt4 key购买 nike

我正在尝试获取所选视频的缩略图。

它似乎确实创建了缩略图,但在将其上传到 firebase 时崩溃了

我相信它会在 thumbnailStorageRef 处崩溃。

相关代码如下:

guard let imagePickerUrl = info[UIImagePickerControllerMediaURL] as? URL else { return }
let videoUrl = imagePickerUrl

// Generate image thumbnail.

let asset: AVAsset = AVAsset(url: videoUrl as URL)
let imageGenerator = AVAssetImageGenerator(asset: asset)
imageGenerator.appliesPreferredTrackTransform = true
var time = asset.duration
time.value = min(time.value, 3)

do {
let thumbnailImage = try imageGenerator.copyCGImage(at: time , actualTime: nil)
let image = UIImage(cgImage: thumbnailImage)
let imageData = UIImagePNGRepresentation(image)!

let thumbnailStorageRef = FIRStorage.storage().reference()
thumbnailStorageRef.child("thumbnails/" + randomString(length: 20) + ".png")

thumbnailStorageRef.put(imageData, metadata: nil, completion: { (thumbnailMeta, error) in
if error != nil {
print("An error has occured while uploading thumbnail:",error ?? "")
} else {
print("Thumbnail upload to database was successfull", thumbnailMeta?.downloadURL() ?? "")
}
})
} catch {
print("An error has occurred while making thumbnail:")
}

当崩溃时错误控制台说:

2017-08-11 17:19:08.656 Koala[17914:491998] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[1]' *** First throw call stack:

我不知道这个错误消息想说什么,也许是试图上传的图片是 nil?我不确定。

最佳答案

您似乎忘记使用刚刚创建的 存储节点。因此,尝试替换此代码:

thumbnailStorageRef.child("thumbnails/" + randomString(length: 20) + ".png")
thumbnailStorageRef.put(imageData, metadata: nil, completion: ...

用这个代替:

let imageRef = thumbnailStorageRef.child("thumbnails/" + randomString(length: 20) + ".png")
imageRef.put(imageData, metadata: nil, completion: ...

此更改应该可以解决您当前的问题;)

关于ios - 将图像上传到 firebase 时 Swift 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45650951/

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