2016-11-15 13 views
0

私は、マルチパートとしてアップロードする必要のある種類の異なるデータを持つ非常に大きなプロジェクトを変換する必要があります。そのために、私は必要なオブジェクトを構築するいくつかの構造体を作成しました。MultipartFormDataMultipartformDataをAlamofire.uploadに渡す

アップロードの一部はやや小さく、その他は大きくなっています。だから私は.upload() Alamofire(v4)の方法を使用して探しています。

このメソッドには、multipartFormDataオブジェクトに部品を追加するクロージャがあります。

Alamofire.upload(
    multipartFormData: { multipartFormData in 
      // do stuff here 
    } 

しかし、私はこの方法を私の既存のMultipartformDataオブジェクトを渡す方法を発見していません。

それは次のようにする必要があります:

self.parts = MultipartformData() 
... 
// do stuff with self.parts 
... 

Alamofire.upload(
    multipartFormData: { multipartFormData in 
      multipartFormData = self.parts 
    } 

しかし、私は次のようなエラーメッセージが出ていてそれが動作しません:

パラメータは

「VAR」指定子を持っていないかもしれません

私はXCode 8.1、Alamofire 4、Swift 3を使用しています。

ありがとう!コードの下

答えて

0

試してみてください。MultipartformDataとして動作しません

let image = UIImage.init(named: "myImage") 
let imgData = UIImageJPEGRepresentation(image!, 0.2)! 

let parameters = ["name": rname] 

Alamofire.upload(multipartFormData: { multipartFormData in 
     multipartFormData.append(imgData, withName: "fileset",fileName: "file.jpg", mimeType: "image/jpg") 
     for (key, value) in parameters { 
       multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key) 
      } 
    }, 
to:"mysite/upload.php") 
{ (result) in 
    switch result { 
    case .success(let upload, _, _): 

     upload.uploadProgress(closure: { (progress) in 
      print("Upload Progress: \(progress.fractionCompleted)") 
     }) 

     upload.responseJSON { response in 
      print(response.result.value) 
     } 

    case .failure(let encodingError): 
     print(encodingError) 
    } 
} 
+0

がシーケンスに準拠していません。私は、私が渡したいものに関するより具体的な記述で質問を更新しました。 –

関連する問題