ios - 快速使用多部分格式数据发送带有一些参数的图像
问题描述
我正在尝试发送一张从我的应用程序中的相机或照片库中拍摄的照片。我搜索了整个网站,发现了一些有用的代码。然后我对其进行了一些定制。
let imageData = UIImageJPEGRepresentation(myImageView.image!, 1)
if imageData != nil{
let request = NSMutableURLRequest(url: NSURL(string:"http://app.avatejaratsaba1.com/api/Ticket/SendTicket")! as URL)
var session = URLSession.shared
request.httpMethod = "POST"
let boundary = NSString(format: "---------------------------14737809831466499882746641449")
let contentType = NSString(format: "multipart/form-data; boundary=%@",boundary)
// println("Content Type \(contentType)")
request.addValue(contentType as String, forHTTPHeaderField: "Content-Type")
let body = NSMutableData()
// Title
body.append(NSString(format: "\r\n--%@\r\n",boundary).data(using: String.Encoding.utf8.rawValue)!)
body.append(NSString(format:"Content-Disposition: form-data; name=\"title\"\r\n\r\n").data(using: String.Encoding.utf8.rawValue)!)
body.append("Hello World".data(using: String.Encoding.utf8, allowLossyConversion: true)!)
// Image
body.append(NSString(format: "\r\n--%@\r\n", boundary).data(using: String.Encoding.utf8.rawValue)!)
body.append(NSString(format:"Content-Disposition: form-data; name=\"profile_img\"; filename=\"img.jpg\"\\r\n").data(using: String.Encoding.utf8.rawValue)!)
body.append(NSString(format: "Content-Type: application/octet-stream\r\n\r\n").data(using: String.Encoding.utf8.rawValue)!)
body.append(imageData!)
body.append(NSString(format: "\r\n--%@\r\n", boundary).data(using: String.Encoding.utf8.rawValue)!)
request.httpBody = body as Data
do{
let returnData = try NSURLConnection.sendSynchronousRequest(request as URLRequest, returning: nil)
let returnString = NSString(data: returnData, encoding: String.Encoding.utf8.rawValue)
print("returnString \(returnString)")
}
catch{print("gg")
}
}
现在,当我运行此函数时,服务器返回:
502 - Web 服务器在充当网关或代理服务器时收到无效响应。
您要查找的页面有问题,无法显示。当 Web 服务器(作为网关或代理)联系上游内容服务器时,它收到了来自内容服务器的无效响应。
这是因为我没有发送 3 个参数。我想知道我应该如何添加参数(2 个字符串,1 个整数 - 总共:2 个字符串,1 个整数,1 个图像)
关于如何添加参数的任何建议?
解决方案
推荐阅读
- c# - LINQ - 如何展平列表
- > 其中字符串是用竖线分隔的
- python - 从 yahoo Finance 抓取实时股票价格并绘制实时价格
- asp.net-core - asp .net core 5 beta - 找不到默认文件
- javascript - 为什么当链接到 Class Sheet getActiveRange 时,Class Range getValues 有时会返回 [[]]?
- reactjs - 运行 npm start 时出现 Babelloader 多个版本错误
- java - 飞镖中的套接字无法从服务器获得响应
- android - 如何使用 ConstraintLayout 获取具有不同单元格大小的 gridview - 流程
- intellij-idea - ESLlint 解决错误:TypeError:无法使用“config”npm 依赖读取未定义的属性“baseUrl”
- rxjs - RXJS:使用单击事件迭代数组
- django - 如何为 Django 应用程序创建 AWS 角色