我需要使用PUT
请求上传图片。
但是,如果我将请求方法设置为httpBody
,则nil
似乎是PUT
,但是如果我以POST
的形式发送请求,则也将发送正文。
我已经阅读了一些文档,但找不到合适的答案。
URLSession.shared.dataTask
是否支持使用multipart/form-data
的PUT
请求?
您将无法发送multipart/form-data
作为PUT
请求。
您需要先发送DELETE
,然后发送POST
。
PUT
请求被设计为替换资源在给定URL-这不适合multipart/form-data
模型。
例如,[PHP
不支持此,Spring-boot
中的Java
不支持。
我相信URLSession
不支持以这种方式将httpBody
附加在PUT
上,因为URLRequest
似乎明确提到了该情况下的POST
。
/// This data is sent as the message body of the request, as
/// in done in an HTTP POST request.
public var httpBody: Data? {
get {
return _handle.map { $0.httpBody }
}
set {
_applyMutation { $0.httpBody = newValue }
}
}