我正在尝试实现一个代码,在该代码中,将文件上传到AWS服务器后不久将调用API,但必须处于后台模式。 AWS sdk可以在后台模式下将文件上传到其服务器中,但是以下代码无法正常工作。
ViewController.swift
<div class="content">Main content of the page goes here</div>
VaultWebService.swift
.content{
min-height:calc(100vh - /*menu (and everything above the content) height*/ )
}
最后。. Appdelegate.swift
position:fixed;bottom:0;z-index:-1
但是永远不会调用此委托方法,而将其用于AWS上传。我认为这是背景background
对我不起作用的主要原因。卡住2天。任何帮助将不胜感激。
答案 0 :(得分:0)
背景下载事件不会在模拟器上触发。您只能在真实设备上进行测试。
答案 1 :(得分:0)
httpBody
创建上传任务,则会忽略 uploadTask(withStreamedRequest:)
。它需要实现urlSession(_:task:needNewBodyStream:)
委托回调。对于后台模式,它不适合。尝试改用uploadTask(with request: URLRequest, from bodyData: Data)
。而且看起来VaultUploadWebService
没有对session
对象的任何引用。尝试将session
存储为VaultUploadWebService
的成员。
答案 2 :(得分:0)
uploadTask(withStreamedRequest:...)
与后台 URL 会话不兼容。改用 uploadTask(with:request, fromFile:...)
。