2016-11-30 2 views
0

내가 백엔드 (PHP)에 이미지를 업로드해야하고 내가 매개 변수의 이름으로 보내야합니다 : "그림"이 메시지를받은 그러나스위프트 3 업로드 이미지 문제 (형식)

func uploadImage(token: String, userID: Int, imgStr: String, 
       successBlock: @escaping (JSON, Int) ->(), 
       failureBlock: @escaping (String) ->()) 
{ 
    let params: [String: Any] = [ 
     "picture" : imgStr 
    ]   

    Alamofire.request( "\(API_URL)" + "users/\(userID)", 
     method: .put, 
     parameters: params, 
     encoding: JSONEncoding.default, 
     headers: Headers().withToken(token: token)).responseJSON 
     { response in 

      print(response) 
      print(response.result) 
      print(response.request) 
      print(response.response) 

      response.result.error != nil 
       ? (failureBlock(response.result.error!.localizedDescription)) 
       : (successBlock(JSON(response.result.value), 
           (response.response?.statusCode)!)) 
    } 
} 

JSON: { 
    "picture" : [ 
    "The picture must be a file of type: jpeg, jpg, png." 
    ] 
} 

UIImage를 png/jpeg 형식의 문자열로 변환하는 방법이 있습니까?

감사합니다.

+0

으로 서버에 이미지를 보낼 수 있습니다 그들은 base64로 문자열 형식이나 파일 형식으로 이미지를 기대하는 방법입니까? – Rajat

+0

@Rajat 파일 형식 (양식 데이터?) –

+1

을 기대하지만 이미지를 문자열로 보내고 있습니다 – Rajat

답변

1

이것은 서버 측에서 파일 형식

let headers: HTTPHeaders = [String:String] 
let URL = try! URLRequest(url: yourURL, method: .put, headers: headers) 

Alamofire.upload(multipartFormData: { multipartFormData in 
    if let _image = UIImage(named:"") { 
     if let imageData = UIImagePNGRepresentation(_image) { 
      multipartFormData.append(imageData, withName: "signImg", fileName: "picture.png", mimeType: "image/png") 
     } 
    } 
    }, with: URL, encodingCompletion: { 
     encodingResult in 
     switch encodingResult { 
     case .success(let upload, _, _): 
      upload.responseJSON { response in 
       debugPrint("SUCCESS RESPONSE: \(response)") 
      } 
     case .failure(let encodingError): 
      // hide progressbas here 
      print("ERROR RESPONSE: \(encodingError)") 
     } 
}) 
+0

같은 일을 할 수 있습니까? 헤더가 있습니까? –

+0

메시지를 받았습니다 : '업로드 (_to : 방법 : 헤더 :)'에 대한 모호한 참조 –

+0

@KevinSabbe는 헤더 – Rajat