如何在 Alamofire 分段数据上传中将 space 作为 space 而不是 %20 发送?
How to send space as space and not %20 in Alamofire multipart data upload?
我正在使用 Alamofire 发送图像文件的分段上传。这是我用来添加参数的代码。问题是,它发送 space 作为 %20(A k 作为 A%20K)。我想按原样发送 (A K)。这是添加params
的代码
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)
}
好吧,您正在使用 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))
}
}
我正在使用 Alamofire 发送图像文件的分段上传。这是我用来添加参数的代码。问题是,它发送 space 作为 %20(A k 作为 A%20K)。我想按原样发送 (A K)。这是添加params
的代码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)
}
好吧,您正在使用 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))
}
}