2017-10-18 21 views
0

J'ai enregistré de l'audio avec iOS avec succès, mais le problème est que je ne peux pas envoyer d'audio au serveur. Le code que j'ai essayé est comme indiqué ci-dessous.Enregistrer l'audio et l'envoyer au serveur dans Swift 3

let audioData : NSData = try Data(contentsOf: (audioRecorder?.url)!) as NSData 

    var finalurl = url+Access_Token! 

    let params = [ 
     "name":"iosTest.mp3", 
     "file": audioData] as [String : Any] 

    let manager = Alamofire.SessionManager.default 
    manager.session.configuration.timeoutIntervalForRequest = 30000 

    manager.request(finalurl, method: .post, parameters: params).responseJSON { 
     response in 

     stopActivityIndicator() 

     if let result = response.result.value { 
      let JSON = result as! NSDictionary 
      print(JSON) 
      let ResponseSuccess = JSON.object(forKey: "response")! 
      displayAlertMessage(userMessage: ResponseSuccess as! String, myView: self) 
     } 
    } 
} catch let error as NSError { 
    print("audioPlayer error: \(error.localizedDescription)") 

    displayAlertMessage(userMessage: "Something error Occured! Please try again" as! String, myView: self) 
} 

Répondre

0

Avez-vous essayé cela de leur documentation officielle sur GitHub? Uploading Multipart Form Data

Alamofire.upload(
    multipartFormData: { multipartFormData in 
     multipartFormData.append(audioRecorder?.url, withName: "iosTest.mp3") 
    }, 
    to: "https://yourLinkGoesHere", 
    encodingCompletion: { encodingResult in 
     switch encodingResult { 
     case .success(let upload, _, _): 
      upload.responseJSON { response in 
       debugPrint(response) 
      } 
     case .failure(let encodingError): 
      print(encodingError) 
     } 
    } 
) 

ou cette Uploading a File

Alamofire.upload(audioRecorder?.url, to: "https://yourLinkGoesHere").responseJSON { response in 
    debugPrint(response) 
}