[英]URLSession datatask return 0 bytes of data in Swift4.2/iOS12
我们正在从我们的应用程序访问PDF URL并获取PDF数据。 在将我们的代码库Swift2.3转换为Swift4.2后,我们得到0字节的数据作为响应。 但是当我们在浏览器中打开相同的URL时,它会显示PDF文件。 我们也没有收到任何错误。 在Swift2.3代码库中,我们将精确的数据值作为有效字节。 我们需要在URLSession中配置什么来获取Swift4.2中的确切数据字节。
// url - PDF服务器网址值
let session:Foundation.URLSession = Foundation.URLSession(configuration:URLSessionConfiguration.default delegate:self delegateQueue:nil)
let task = session.dataTask(with: url, completionHandler:{(data,response,error) in
// here data coming as 0 bytes
})
task.resume()
URLSession.dataTask有时会返回没有错误但是零字节。 我的解决方法是使用URLSession.downloadTask,并使用localURL的内容来创建数据缓冲区。 顺便说一句,使用.utf8编码从此缓冲区创建String失败,而.ascii工作正常。 因此,我怀疑URL内容的编码可能是问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.