2016-11-30 4 views
1

ниже мои параметрыМетод POST не работает в swift 3.0 Alamofire 4.0?

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

и метод пост функция содержит следующий код

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

здесь в цель с моей WebService работы успешно, но при использовании этого кода он всегда дает ответ «ложь» ... Есть ли ошибка в этом коде.

+0

Не уверен, разрешает ли он проблему, но в Swift 3 аннотирует '[String: Any]' - или опускает аннотацию, поскольку словарь явно '[String: String]' - и удаляет приведения в 'AnyObject' – vadian

+0

Вы имеете в виду «Отказ»? –

ответ

0

Многие вещи могут пойти не так. Есть несколько вещей, которые я хотел бы проверить, если я отладку:

  1. Если я хочу использовать PNG, я мог бы использовать UIImagePNGRepresentation(...) в этом коде вместо UIImageJPEGRepresentation.
  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

Смежные вопросы