【发布时间】:2016-10-20 00:22:24
【问题描述】:
我之前有一个在 Swift 2.2 中工作的 .post 多格式上传,它遵循以下格式(请注意,我没有包括所有的 AlamoFire 代码......那太长了。我只是包括相关的部分):
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 中我不能再发布具有“text/csv”mimetype 的 NSData....但我不完全确定。
任何帮助都会很棒。谢谢!
【问题讨论】: