2016-10-20 5 views
1

У меня ранее была мультиформатная загрузка .post, работающая в Swift 2.2, которая следовала следующему формату (обратите внимание, что я не включаю весь код AlamoFire .. .Это будет слишком длинным. Я просто включаю соответствующие части):Alamofire 4.0/Swift 3.0 - Добавление многостраничных данных формы (CSV-файл)

let data = mailStringArray[i].dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) 
csvDataArray.append(data!) 

self.alamoFireManager.upload(.POST, "INSERT URL HERE", headers: header, multipartFormData: { multipartFormData in 

multipartFormData.appendBodyPart(data: csvDataArray[0], name: "bulk", fileName: "multi-input.csv", mimeType: "text/csv") 

Это сработало отлично. Тем не менее, после перехода на Swift 3.0 и Alamofire 4.0, я сейчас, используя следующий формат:

let data = String(mailStringArray[i]).data(using: String.Encoding.utf8, allowLossyConversion: false) 
      csvDataArray.append(data! as NSData) 

self.alamoFireManager.upload(multipartFormData:{ multipartFormData in 

multipartFormData.append(csvDataArray[0], withName: "bulk", fileName: "multi-input.csv", mimeType: "text/csv") 

usingThreshold:UInt64.init(), 
          to:"INSERT URL HERE", 
          method:.post, 
          headers:["Authorization": "INSERT TOKEN HERE"], 
          encodingCompletion: { encodingResult in 

я в конечном итоге получаю следующее сообщение об ошибке: не может ссылаться на аргумент присоединять со списком аргументов типа «(NSData, withName: String, fileName: String, mimeType: String) '

Я так думаю, потому что в Swift 3.0 я больше не могу публиковать NSData с типом «text/csv» .... но я не совсем уверен.

Любая помощь будет отличной. Благодаря!

ответ

0

Попытка

multipartFormData.append (csvDataArray [0] как данные, withName: "навалом", имя_файла "мульти-input.csv", тип_mime: "текст/CSV")

+0

Благодаря ! Это сделал трюк. – riceman89

Смежные вопросы