【问题标题】:How to send space as space and not %20 in Alamofire multipart data upload?如何在 Alamofire 多部分数据上传中将空间作为空间而不是 %20 发送?
【发布时间】:2021-02-18 03:12:45
【问题描述】:

我正在使用 Alamofire 发送图像文件的分段上传。这是我用来添加参数的代码。问题是,它将空间发送为 %20 (A k as A%20K) 。我想按原样发送(A K)。这是添加参数的代码

URLEncoding.default.queryParameters(params).forEach { (key, value) in
if let data = value.data(using: .utf8) {
multipart.append(data, withName: key)
print(String(data: data, encoding: String.Encoding.utf8) as Any)
}

【问题讨论】:

    标签: swift alamofire multipartform-data multipart


    【解决方案1】:

    嗯,您使用URLEncoding 来查询参数,并且这些参数将始终按照您的预期进行URL 编码

    在将字符串转换为类似数据之前尝试从字符串中删除百分比编码

    if let data = value.removingPercentEncoding?.data(using: .utf8) {
       // do your stuff here
    }
    

    假设您的 params 对象是 [String: String] 值的数组,您可以简单地执行以下操作

    params.forEach { (key, value) in
       if let data = value.data(using: .utf8) {
          multipart.append(data, withName: key)
          print(String(data: data, encoding: .utf8))
       }
    }
    

    【讨论】:

    • 有没有办法在不使用 url 编码的情况下将参数附加到多部分数据?
    猜你喜欢
    • 2017-06-19
    • 2016-04-25
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多