Téléchargez des images multiples dans swift à l'aide de Alamofire

J'utilise le code suivant pour télécharger une image unique pour un serveur:

private static func urlRequestWithComponents(urlString:String, parameters:Dictionary<String, String>, imageData:NSData?, imageName: String) -> (URLRequestConvertible , NSData) {

    //create url request to send
    let mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlString)!)
    mutableURLRequest.HTTPMethod = Alamofire.Method.POST.rawValue
    let boundaryConstant = "myRandomBoundary12345";
    let contentType = "multipart/form-data;boundary="+boundaryConstant
    mutableURLRequest.setValue(contentType, forHTTPHeaderField: "Content-Type")


    //create upload data to send
    let uploadData = NSMutableData()
    if(imageData != nil && imageData?.length != 0) {
        //add image
        uploadData.appendData("\r\n--\(boundaryConstant)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData("Content-Disposition: form-data; name=\"\(imageName)\"; filename=\"\(StringHelper.sharedInstance.randomString(5)).png\"\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData("Content-Type: image/png\r\n\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData(imageData!)
    }
    //add parameters
    for (key, value) in parameters {
        uploadData.appendData("\r\n--\(boundaryConstant)\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
        uploadData.appendData("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n\(value)".dataUsingEncoding(NSUTF8StringEncoding)!)
    }
    uploadData.appendData("\r\n--\(boundaryConstant)--\r\n".dataUsingEncoding(NSUTF8StringEncoding)!)
    print("upload",parameters)
    //return URLRequestConvertible and NSData
    return (Alamofire.ParameterEncoding.URL.encode(mutableURLRequest, parameters: nil).0, uploadData)
}

Comment puis-je télécharger plusieurs images dans un seul paramètre en modifiant ce code?

  • comment pouvez télécharger des images multiples de tableau dans un seul pararmeter
  • Vous pouvez faire une structure qui prend tous vos func params, puis de créer une fonction qui prend un tableau de ces structures, puis dans la fonction, vous pouvez parcourir le tableau et retourne un tableau de demandes. Si vous voulez tout faire à la fois parce que vous avez besoin de faire quelque chose lorsque tous les téléchargements sont terminés, d'examiner le Fonctionnement de la file d'attente ou de l'Envoi Groupe
  • Veuillez consulter le lien stackoverflow.com/questions/28448837/..., stackoverflow.com/questions/40527140/...
InformationsquelleAutor Arun sharma | 2017-01-06