我試圖讓我選擇的視頻的縮略圖時。斯威夫特應用程序崩潰上傳圖像火力
好像它創建縮略圖,但上傳時,它火力
它崩潰的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個字節」 –