2

我之前一直尝试使用 Alamofire 5.2.1 中的 multipart 方法上传照片/视频内容,但它似乎不允许传入标头(身份验证/内容类型)参数,所以我降级到 Alamofire 4.8 尝试查看如果它更稳定。

在此处输入图像描述 ** 这里显示的是一个.post请求,但我在我的代码中做一个.put方法。

尝试将标头传递为时,为什么我不断收到此问题(在屏幕截图中)HTTPHeaders?它是这样说的:

错误:

Cannot convert value of type 'HTTPHeaders' (aka 'Optional<Dictionary<String, Any>>') to expected argument type 'HTTPHeaders?' (aka 'Optional<Dictionary<String, String>>')

无论如何要解决这个问题?

标头列在方法的顶部,如下所示:

let requestHeaders: HTTPHeaders = [
        "Authorization": "THIS_IS_A_TOKEN",
        "Content-type": "multipart/form-data"
    ]

并为 Alamofire 明确定义了 HTTPHeaders 类型的字典(以及顺便导入的 Alamofire)。

4

2 回答 2

1

您错误地定义了标题。

var reuqestHeaders: HTTPHeaders
requestHeaders = HTTPHeaders = [
 "Authorization": "....",
 "Content-type": "multipart/form-data"]()

你这样做了。

只需定义 requestHeaders 如下。

let reuqestHeaders : HTTPHeaders = [
  "Authorization": "....",
  "Content-Type": "multipart/form-data"]
于 2021-05-23T02:14:37.693 回答
0

你有()你的字典文字。它应该只是:

let headers = [ 
    // Header values.
]
于 2020-06-21T21:41:35.933 回答