我正在上传文件到FirebaseStorage,我在iOS上收到此错误:
Task <24E18897-20B7-45FD-9621-85FF09DC6326>.<1> finished with error [-1017] Error Domain=NSURLErrorDomain Code=-1017 "cannot parse response" UserInfo={_kCFStreamErrorCodeKey=-1, _NSURLErrorFailingURLSessionTaskErrorKey=BackgroundUploadTask <24E18897-20B7-45FD-9621-85FF09DC6326>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"BackgroundUploadTask <24E18897-20B7-45FD-9621-85FF09DC6326>.<1>",
"LocalUploadTask <24E18897-20B7-45FD-9621-85FF09DC6326>.<1>"
), NSLocalizedDescription=cannot parse response, _kCFStreamErrorDomainKey=4, NSErrorFailingURLStringKey=https://firebasestorage.googleapis.com/v0/b/mybucket/o/user%2FNyq7dMqe1kcAZ77R1YwH5fsAkV83%2Fcontent%2F43aa2d41-7a19-11ec-bd39-85fcd9d025?uploadType=resumable&name=user%2FNqe1kcAZ77R1YwH5fsAkV83%2Fcontent%2F43aa2d41-7a19-11ec-bd39-8508fcd025&upload_id=ADPycdv0-OYZPx3zAGzLrn25ZdI9srgkgABHGKb_1fCqUO7AAPHsZTkz_iVX1NfuYQsn0LHgCCiOsSzhLiP4Ho7VynSf_ceJJw&upload_protocol=resumable, NSErrorFailingURLKey=https://firebasestorage.googleapis.com/v0/b/mybucket/o/user%2FNyqMqe1kcAZ77R1YwH5fsAkV83%2Fcontent%2F43aa2d41-7a19-11ec-bd39-8508fcd9d025?uploadType=resumable&name=user%2FNyq7dMqe1kcAZ77R1YwH5V83%2Fcontent%2F432d41-7a19-11ec-bd39-8508f9d025&upload_id=ADPycdv0-OYZPx3zAGzLrn25ZdI9srgkgABHGKb_1fCqUO7AAPHsZTkz_iVX1NfuYQsn0LHgCCiOsSzhLiP4Ho7VynSf_ceJJw&upload_protocol=resumable}
GTMSessionFetcher invoking fetch callbacks, data (null), error Error Domain=NSURLErrorDomain Code=-1017 "cannot parse response" UserInfo={_kCFStreamErrorCodeKey=-1, _NSURLErrorFailingURLSessionTaskErrorKey=BackgroundUploadTask <24E18897-20B7-45FD-9621-85FF09DC6326>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
"BackgroundUploadTask <24E18897-20B7-45FD-9621-85FF09DC6326>.<1>",
"LocalUploadTask <24E18897-20B7-45FD-9621-85FF09DC6326>.<1>"
), NSLocalizedDescription=cannot parse response, _kCFStreamErrorDomainKey=4, NSErrorFailingURLStringKey=https://firebasestorage.googleapis.com/v0/b/mybucket/o/users%2FNyq7dMqe1kcAZ77R1YwH5fsAkV83%2Fcontent%2F43aa2d41-7a19-11ec-bd39-8508fcd9d025?uploadType=resumable&name=users%2FNyq7dMqe1kcAZ77R1YwH5fsAkV83%2Fposts%2F43aa2d41-7a19-11ec-bd39-8508fcd9d025s&upload_id=ADPycdv0-OYZPx3zAGzLrn25ZdI9srgkgABHGKb_1fCqUO7AAPHsZTkz_iVX1NfuYQsn0LHgCCiOsSzhLiP4Ho7VynSf_ceJJw&upload_protocol=resumable, NSErrorFailingURLKey=https://firebasestorage.googleapis.com/v0/b/mybucket/o/user%2FNyq7dMqe1kcAZ77R1YwH5fsAkV83%2Fcontent%2F43aa2d41-7a19-11ec-bd39-8508fcd9d025-low_res?uploadType=resumable&name=user%2FNyq7dMqe1kcAZ77R1YwH5fsAkV83%2Fposts%2F43aa2d41-7a19-11ec-bd39-8508f&upload_id=ADPycdv0-OYZPx3zAGzLrn25ZdI9srgkgABHGKb_1fCqUO7AAPHsZTkz_iVX1NfuYQsn0LHgCCiOsSzhLiP4Ho7VynSf_ceJJw&upload_protocol=resumable}
字符串
这导致[firebase_storage/unknown] An unknown error occurred, please check the server response.
但这次我可以看到iOS失败,而不是服务器响应不幸...
那么Error Domain=NSURLErrorDomain Code=-1017 "cannot parse response"
是什么意思,以及如何修复它呢?
注意:我已经看到了这个question,但它不是我可以自己修复的,因为我使用Firebase iOS SDK.
编辑:
我已经在Firebase支持中打开了一个issue和一个案例,以获取更多有关此的信息,因为不幸的是,现在似乎没有人有一些。
这可能是一个错误服务器端,因为我不能重现它100%的时间和错误也是没有用的调试。
编辑2:
Firebase支持能够在相当低的互联网连接情况下重现这个问题,但在我的情况下,正常连接也会发生这种情况。
我还设置了metadata
,指定了content-type
,以避免额外的“解析”服务器端,但不幸的是,它没有改变任何东西。
2条答案
按热度按时间6qqygrtg1#
我也有同样的问题。
但我明白为什么会出现这个问题。
这个问题可能是由弱网络层引起的。
如果你想重现这个问题,请使用“Xcode的附加工具”中的“硬件”中的“网络链接调节器. prefix”。
Additional tools for Xcode Download link
我可以复制下面的设置。
字符串
它的设置可以通过管理配置文件添加。
祝你好运,我的英语很好。
mnemlml82#
请检查你的头值。如果头包含空值,这也可能是得到解析错误的原因(NSURLErrorDomain,代码为-1017)。
请确保要添加到URLRequest的所有标头都具有有效的非空值。空标头或格式不正确的标头可能会在发送请求和接收响应时导致问题。这可能导致解析错误,特别是在服务器需要特定标头值或格式时。
使用addValue(_:forHTTPHeaderField:)仔细检查正在添加的值,以确保它们正确填充了必要的信息,例如正确的内容类型、授权令牌或API可能需要的任何其他头字段。
此外,验证服务器预期的响应格式,并确保代码在接收和解析响应数据时正确处理此格式。
由于各种因素,通常会出现此错误,因此检查标头和响应处理过程对于查明和解决问题至关重要。