簡體   English   中英

如何在 Alamofire 分段數據上傳中將空間作為空間而不是 %20 發送?

[英]How to send space as space and not %20 in Alamofire multipart data upload?

我正在使用 Alamofire 發送圖像文件的分段上傳。 這是我用來添加參數的代碼。 問題是,它將空間發送為 %20(A k 為 A%20K)。 我想按原樣發送(AK)。 這是添加參數的代碼

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))
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM