我试图让我选择的视频的缩略图时。斯威夫特应用程序崩溃上传图像火力
好像它创建缩略图,但上传时,它火力
它崩溃的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年8月11日17:19:08.656考拉[17914:491998] *终止由于应用到 未捕获的异常 'NSInvalidArgumentException',原因是: '* - [__ NSPlaceholderDictionary initWithObjects:forKeys:数:]:尝试从物体插入零对象[1]' ***第一掷通话STAC k:
我不知道这个错误消息试图说什么,也许该图片试图上传是零?我不确定。
野生猜想:你的imageData是零。 – Glenn
我只是如果让安全解开它说为imageData不是零 –
@Glenn的图像数据输出“233912个字节” –