空请求正文 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
实例在请求完成之前被 deinit
ed。你需要让它保持活力,要么作为其他东西的实例值,要么作为单例。
我想通过附加所选文件的 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
实例在请求完成之前被 deinit
ed。你需要让它保持活力,要么作为其他东西的实例值,要么作为单例。