【发布时间】:2014-12-05 12:35:23
【问题描述】:
在我的 iOS 应用程序中,我尝试使用 HTTP Post 请求将数据发布到服务器。我正在使用以下方法来创建请求正文;
func createBodyWithParameters(filePathKey: String?, boundary: String) -> NSData {
let body = NSMutableData()
let filename = String(format: "%lld.jpg", NSDate().timeIntervalSince1970 * 1000)
let data = UIImageJPEGRepresentation(self.photoTaken , 0.6)
println(data.length)
let mimetype = "image/png"
body.appendString("--\(boundary)\r\n")
body.appendString("Content-Disposition: form-data; name=\"\(filePathKey!)\"; filename=\"\(filename)\"\r\n")
//body.appendString("Category: \(self.categoryAbbreviations[self.tag])\r\n")
body.appendString("Content-Type: \(mimetype)\r\n\r\n")
body.appendData(data!)
body.appendString("\r\n")
body.appendString("--\(boundary)--\r\n")
body.appendString("Category: \(self.categoryAbbreviations[self.tag])\r\n")
body.appendString("--\(boundary)--\r\n")
return body
}
我将类别信息和图像数据与边界分开。但是,服务器使用 HTTP 错误 400(错误请求)对此作出响应。如果我尝试将类别信息和图像数据一起发送,我会收到 HTTP 错误 413 (Request Entity Too Large)
我认为问题在于我创建的请求正文错误。请求数据有问题吗?
【问题讨论】:
标签: ios swift http-post nsurlsession