我一直在尝试将图像上传到新的Firebase存储服务。出于某种原因,我第一次上传时会引发错误,并且当我尝试选择要上传的同一张图片时,效果很好。
let storageRef = FIRStorage.storage().reference()
let fileName = NSProcessInfo.processInfo().globallyUniqueString + ".jpg"
let uploadRef = storageRef.child("\(bucketName)/\(fileName)")
let uploadTask = uploadRef.putFile(imageURL, metadata: nil)
引发的错误:
错误域= FIRStorageErrorDomain代码= -13000“发生未知错误,请检查服务器响应。”UserInfo = {object = display-picture / DCCE1A99-BD0F-44F9-B1FA-7BF8F8209C43-7132-0000088406C78BC3.jpg,bucket = project-**************。appspot.com,ResponseBody =不能完成上传。当前大小为92596。预期的最终大小为58228.,数据= <43616e20 6e6f7420 66696e61 6c697a65 2075706c 6f61642e 20204375 7272656e 74207369 7a652069 73203932 3539362e 2020457870656374 65642066 696e616c 2073697a 65206973 20353832 32382e>,NSLocalizedDescription =发生未知错误,请检查服务器响应。,ResponseErrorDomain = com.google.HTTPStatus,ResponseErrorCode = 400}
我知道这是很久以前问过的问题,但这将来可能会帮助其他人。
我也有这个问题,我可以通过将上传逻辑放在主线程上来解决它,如下所示:
DispatchQueue.main.async{
uploadTask = uploadRef.putFile(imageURL, metadata: nil)
}
我在此GitHub issue上找到了解决方案