gpt4 book ai didi

ios - 如何将 Curl 转换为 iOS

转载 作者:搜寻专家 更新时间:2023-10-31 23:03:16 28 4
gpt4 key购买 nike

我有这个有效的命令:

curl -X POST -H -i -F userPic=@/Users/path/to/image.png http://server.com/users/userPic/6

我正在用 Swift 编写我的程序,我正在尝试使用相同的命令将一些带有 POST 请求的图像数据发送到我的服务器。我很困惑如何将请求的“userPic=@”部分添加到我的请求中。目前我的Swift代码如下:

func sendUserPicToAPI() {
if let savedId = defaults.stringForKey("UserId") {
userId = savedId.toInt()
}

var imageData = UIImagePNGRepresentation(profPic.image)
var url = NSURL(string: "http://server.com/users/userPic/\(userId)")
var request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
request.HTTPBody = NSData(data: imageData!)

var response: NSURLResponse? = nil
var error: NSError? = nil
let reply = NSURLConnection.sendSynchronousRequest(request, returningResponse:&response, error:&error)

let results = NSString(data:reply!, encoding:NSUTF8StringEncoding)
println("API Response: \(results)")
}

我引用了这个 stackoverflow post ,但我仍然无法让它工作。我很困惑我做错了什么,如果有人知道解决这个问题的正确方法。

最佳答案

主要问题是,如果不先将图像数据编码为多部分表单数据,就不能直接在 HTTPBody 中发布图像数据。 the RFC 中有一个很好的解释

我在 Swift on github 中创建了一个简单的框架来执行此操作

基本原理是,在将其作为正文发送之前,您需要按照 RFC 对其进行编码。

关于ios - 如何将 Curl 转换为 iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30747509/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com