繁体   English   中英

URLSession数据任务在Swift4.2 / iOS12中返回0字节的数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM