2017-02-13 6 views
1

alamofireの投稿要求を使用してYouTubeにビデオを投稿しています。alamofire以前のバージョンmy code was fine、コードを作業バージョンとSwift3.0で実行されている、イム取得中にエラーAlamofire Multipartメソッドを最新の4.0バージョンに変換すると、マルチパーツパーツデータに問題が発生します

は次のとおりです。

let path = Bundle.main.path(forResource: "video", ofType: "mp4") 
let videodata: Data = Data.dataWithContentsOfMappedFile(path!)! as! Data 

    Alamofire.upload(
     multipartFormData: { multipartFormData in 
     multipartFormData.append(path, withName: "video", fileName: "video.mp4", mimeType: "application/octet-stream")}, 
     to: "https://www.googleapis.com/upload/youtube/v3/videos?part=id", 
     encodingCompletion: { encodingResult in 
      switch encodingResult { 
      case .success(let upload, _, _): 
       upload.responseJSON { response in 
        debugPrint(response) 
       } 
      case .failure(let encodingError): 
       print(encodingError) 
      } 
    } 
    ) 

誰でもスウィフト3.0

Alamofire 4.0.1バージョンに変換するために私を助けてください

エラーイム取得は次のとおりです。式タイプ()は、このライン--inより文脈なしにあいまいです:Alamofire.upload(

+0

エラーログとその原因となる行を投稿してください – Tj3n

+0

@ Tj3nエラーを確認してください –

+0

コードに問題はありません。コードのどこかに括弧がありません。 '}'または ')' – Tj3n

答えて

0

これはスウィフト3.0でコンパイルされます。

let path = Bundle.main.path(forResource: "video", ofType: "mp4")! 
    let url = URL(string: path)! 

    Alamofire.upload(multipartFormData: 
    { multipartFormData in 
     multipartFormData.append(url, withName: "video", fileName: "video.mp4", mimeType: "application/octet-stream") 

    }, 
    to: "https://www.googleapis.com/upload/youtube/v3/videos?part=id", 
    encodingCompletion: 
    { 
     encodingResult in 
     switch encodingResult { 
     case .success(let upload, _, _): 
      upload.responseJSON { response in 
       debugPrint(response) 
      } 
     case .failure(let encodingError): 
      print(encodingError) 
     } 
    }) 

ところで、ある理由ビデオデータオブジェクトを作成する場合は、アップロードコードを使用しないでください。

+0

imの代わりにビデオデータを渡します。{multipartFormData.append(path、withName : "video"、fileName: "video.mp4"、mimeType: "application/octet-stream")} –

関連する問題