问题描述
在我的一个 iOS 应用程序中,我正在尝试将文件上传到 WEBDAV
存储库,这就是我为上传做准备的方式 -
func createUploadRequest(url: String) -> URLRequest? {
if let url = URL(string: url) {
var request = URLRequest(url:url)
request.httpMethod = "PUT"
request.setValue("1",forHTTPHeaderField: "Depth")
request.setValue("application/xml",forHTTPHeaderField: "Content-Type")
return request
}
return nil
}
@IBAction func upload() {
if let request = createUploadRequest(url: url) {
let sessionConfiguration: URLSessionConfiguration = URLSessionConfiguration.background(withIdentifier: "sessionIdentifier")
self.session = URLSession(configuration: sessionConfiguration,delegate: self,delegateQueue: nil)
uploadTask = self.session?.uploadTask(with: request as URLRequest,fromFile: self.fileUrl!)
self.uploadTask?.resume()
}
}
在上传过程中我取消 uploadtask
如下
@IBAction func cancelUpload() {
self.uploadTask?.cancel()
}
上传过程被取消,但这里的问题是文件在 WEBDAV 服务器上损坏,正在上传,uploadtask
被取消.
奇怪的是,这在 iOS 9 中运行良好,上传过程被正确取消,文件未损坏,但 iOS 12 及更高版本的文件已损坏。 不过,我没有检查 iOS 10 或 11 上的行为。
请帮我解决这个问题。提前致谢。
请注意,在锁定/不锁定 WEBDAV 资源的情况下,此错误仍然存在
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)