空请求正文 alamofire multipart

Empty request body alamofire multipart

我想通过附加所选文件的 alamofire 提出这样的请求:

我还必须向请求添加拦截器。因此,我将以下代码添加到我的图像选择器方法中:

let manager =  Session(configuration: URLSessionConfiguration.default, interceptor: CallInterceptor.init(method:HTTPMethod.post))
manager.upload(multipartFormData: { multipartFormData in
     multipartFormData.append( fileUrl, withName: "upload_doc\"; filename= \"\(fileName)\"")
},
to:Pathes.init(endpoint: "user/photo").resourseUrl.absoluteString).responseJSON(completionHandler: { (completion) in
   print(completion.debugDescription)
})

其中:

let fileName = fileUrl.lastPathComponent

在日志中我看到这样的输出:

[Request]: POST url
    [Headers]:
        Authorization: Bearer token
        Content-Type: multipart/form-data; boundary=alamofire.boundary.c5da18c6b053a9d7
    [Body]: None
[Response]: None
[Network Duration]: None
[Serialization Duration]: 3.253298928029835e-05s
[Result]: failure(Alamofire.AFError.sessionDeinitialized)

据我所知,我没有附加请求正文是什么导致了此类请求取消。我如何将正文添加到请求中?我认为这一行:

multipartFormData.append( fileUrl, withName: "upload_doc\"; filename= \"\(fileName)\"")

但它不会将正文添加到请求中。我也试过直接添加文件:

 multipartFormData.append(imgData, withName: "upload_doc\"; filename= \"\(fileName)\"",fileName: fileName, mimeType: "image/jpg")

但这种方式也发送了:

[Body]: None

所以问题是如何向多部分请求添加一些主体,或者我必须以其他方式发送文件?

错误 .sessionDeinitialized 意味着您的 Session 实例在请求完成之前被 deinited。你需要让它保持活力,要么作为其他东西的实例值,要么作为单例。