I am unable to upload my image to server using multipart data in swift3? -
i unable upload image on server. using multpart form data.i selecting image imagepicker controller.everything set imagerpicker delegate each , .after uploading image not shoeing error image not uploading on server.and when select image using imagepicker shows error creating image format unknown type error app not crashes
this code using in swift3 sending image. here code using.
viewcontroller.swift //i not writnig full code following action of button calling function
    button action{     // image     let image = userimage.image     let unwrappedimage = image!     let data = uiimagejpegrepresentation(unwrappedimage, 1.0)     let params = ["user_dob":dob, "user_gender":"1", "user_name":   username, "user_status":userstatus] nsdictionary     self.uploadrequest(image:data,parameters:params)      } my function uploading image , data
    func uploadrequest(image:nsdata,parameters:nsdictionary){     let url = nsurl(string: "myurl")     let request = nsmutableurlrequest(url: url! url)     request.httpmethod = "post"     let boundary = generateboundarystring()     let secretkey = defaults.string(forkey: "secretkey")      request.setvalue(secretkey, forhttpheaderfield: "auth_key")  request.setvalue("multipart/form-data; boundary=\(boundary)",forhttpheaderfield: "content-type")      let body = nsmutabledata()      body.append("--\(boundary)\r\n".data(using: .utf8)!)      body.append("content-disposition:form-data; name=\"test\"\r\n\r\n".data(using: string.encoding.utf8)!)      body.append("hi\r\n".data(using: .utf8)!)      body.append("--\(boundary)\r\n".data(using: .utf8)!)      //body.append("content-disposition:form-data; name=\"file\"; filename=\"\(fname)\"\r\n".data(using: .utf8)!)      //body.append("content-type: \(mimetype)\r\n\r\n".data(using: .utf8)!)      body.append(image data)      body.append("\r\n".data(using: string.encoding.utf8)!)      for(key,value) in parameters{     body.append("--\(boundary)\r\n".data(using: .utf8)!)     body.append("content-disposition:form-data;      name=\"file\";filename=\"\(key)\"\r\n\r\n\(value)".data(using: .utf8)!)       }     body.append("--\(boundary)--\r\n".data(using: .utf8)!)        let session = urlsession.shared      let task = session.datatask(with: request urlrequest) {          (         data, response, error) in          guard let _:nsdata = data nsdata?, let _:urlresponse = response  , error == nil else         {             print("error")              return     }let datastring =nsstring(data:data!,encoding:string.encoding.utf8.rawvalue)          print(datastring)      }      task.resume()   }  
 
  
Comments
Post a Comment