2017-02-13 10 views
1

Я размещаю видео на youtube с использованием запроса alamofire post в mutliform part.С аламофором предыдущей версии мой код работал нормально, но при изменении на обновленный версия и работает с Swift3.0, им получать ошибкиПреобразование Alamofire Многостраничный метод до версии 4.0 до версии 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) 
      } 
    } 
    ) 

Может кто-нибудь, пожалуйста, помогите мне, чтобы преобразовать его в Alamofire 4.0.1 версии с Swift 3.0

И.М. ошибки получения является: тип Выражения() является неоднозначной, не больше контекста --in этой линии: Alamofire.upload (

+0

Какая ошибка, опубликуйте журнал ошибок и какая строка вызывает его – Tj3n

+0

@ Tj3n, пожалуйста, проверьте ошибку. –

+0

У вашего кода нет проблем, вам не хватает скобки где-то в коде, проверьте отсутствие '' '' или '' '' ' – Tj3n

ответ

0

Это компилирует в Swift 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 передаёт видеоданные вместо url, {multipartFormData.append (путь, withName : «video», fileName: «video.mp4», mimeType: «application/octet-stream»)}, –