URLSession多部分PUT请求

问题描述 投票:1回答:1

我需要使用PUT请求上传图片。

但是,如果我将请求方法设置为httpBody,则nil似乎是PUT,但是如果我以POST的形式发送请求,则也将发送正文。

我已经阅读了一些文档,但找不到合适的答案。

URLSession.shared.dataTask是否支持使用multipart/form-dataPUT请求?

swift multipartform-data put urlsession
1个回答
0
投票

您将无法发送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 }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.