2016-11-30 9 views
1

は私のパラメータですPOSTメソッドはswift 3.0 Alamofire 4.0で動作しませんか?以下

var comment: [String:AnyObject] = [:] 
comment = [ 
      "txtUsername": (txtUsername?.text)! as AnyObject, 
      "txtPassword": (txtPassword?.text)! as AnyObject 
     ] 

とPOSTメソッドの機能は、私のWebサービスの作業が正常にここでの目的のCのコード

Alamofire.upload(
     multipartFormData: { multipartFormData in 

      for (key, value) in Param { 
       multipartFormData.append((value.data(using: .utf8))!, withName: key) 
      } 

      let image = UIImage(named: "bodrum.png")! 
      if let imageData = UIImageJPEGRepresentation(image, 1) 
      { 
       multipartFormData.append(imageData, withName: "file", fileName: "file.png", mimeType: "image/png") 
      } 

    }, 
     to: webpath, 
     encodingCompletion: 
     { 
      encodingResult in 

      switch encodingResult 
      { 
       case .success(let upload, _, _): 
        upload.responseJSON 
        { 

         response in 

         guard case .success(let rawJSON) = response.result else { 
          return 
         } 
         guard let json = rawJSON as? [String: String] else { 
          return 
         } 

         if json["Success"] == "True"{ 
          print("Success") 
         } 
         else{ 
          print("Failure") 
         } 
        } 

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

に従うが、このコードを使用して、それは常に応答を与える「false」に含まれています...このコードに間違いはありませんか?

+0

スウィフト3では '[String:Any]'と注釈を付けるか、ディクショナリが明確に '[String:String]'であるためアノテーションを省略してキャストを 'AnyObject' – vadian

+0

「失敗」と表示されていますか? –

答えて

0

多くのことが間違っている可能性があります。私は、PNGを使用したい場合は、私はUIImageJPEGRepresentationの代わりにこのコードでUIImagePNGRepresentation(...)を使用する場合があります

  1. :私はデバッグにした場合、私はチェックでしょう物事のカップルがあります。
  2. JPEGを使用する場合は、multipartFormData.append(imageData, withName: "file", fileName: "file.png", mimeType: "image/png")multipartFormData.append(imageData, withName: "file", fileName: "file.jpg", mimeType: "image/jpeg")に変更します。
  3. (2)の場合は、UIImageJPEGRepresentation(image, 1)UIImageJPEGRepresentation(image, 0.5)に変更してください。イメージが大きすぎるため失敗する可能性があるため、圧縮率を高くすると問題が解消される可能性があります。
+0

私はイメージを送信しない場合でも私はパラメータを送信し、それも動作しません – Dharini

関連する問題