im essayant d'envoyer une matrice de chaîne sur le serveur dans une demande de multipartite à l'aide de la bibliothèque ALAMOFIRE SWIFT, j'ai essayé plusieurs façons d'encoder la matrice mais la plupart du temps, il va comme une chaîne. Est-ce que quelqu'un peut m'aider avec ça. À l'exception de l'envoi de la matrice de téléchargement d'image et d'autres valeurs va bien sur le serveur. Ci-dessous mon code.
"VisitedCountries"=> ["ALG","ARG"]
3 Réponses :
dans l'en-tête Change Type de contenu Code> à
Application / JSON CODE> à partir de
Multipart / Form-Data Code>.
Type de contenu Code> de la requête indique au serveur dans lequel le format vous envoie les données.
let headers: HTTPHeaders = ["Content-type": "application/json"]
J'ai besoin de télécharger une image aussi. vient d'essayer, toujours le même: D
@Lahirupinto Check JPEGDATA (CompressionQuality :) CompressionQuality - Exprimé comme valeur de 0,0 à 1,0
a finalement trouvé une réponse par moi-même, il suffit de faire une petite astuce avec la valeur clé. Vous trouverez ci-dessous le code.
for code in self.getVisitedCountryCodeList(){ if let codeData = code.data(using: .utf8) { multipartFormData.append(codeData, withName: key+"[]" ) } }
Dans mon cas, la solution acceptée n'a travaillé que pour l'envoi d'un objet dans le tableau. Pour plus d'un élément, le tableau devait être envoyé sous forme de code La réponse acceptée génère plusieurs tableaux avec un article chacun, comme: Le code alternatif: p> "[] =" alg "," arg "" " code>.
"Code [] =" ALG "" Code [] = "Arg" " code>. Ce qui a fonctionné pour moi Série de virgule séparée de tous les objets de tableau, convertissez-la en données et appendez-la à la multipartformdata en une fois. p>
let key = "countryCodes"
let array = ["ALG", "ARG"]
let arrayString = array.joined(separator: ",")
if let arrayData = arrayString.data(using: .utf8) {
formData.append(arrayData, withName: key+"[]" )
}
C'est un éventail de chaînes sous la clé "VisitesCountries". Quel est le format que vous attendez?
"VisityCountries" => ["alg", "arg"]. Je m'attends à cela. spécialement sans les citations "[]" extérieures "[]". p.s- im pas un backend dev @Losiowaty