gpt4 book ai didi

Swift 3 如何使用 Vapor 发送多部分发布请求

转载 作者:行者123 更新时间:2023-11-28 16:02:58 25 4
gpt4 key购买 nike

我正在使用 vapor 为我的应用托管图像。我有以下代码来接收图像并打印它。

drop.post("saveArt") { request in
if let contentType = request.headers["Content-Type"], contentType.contains("image/png"), let bytes = request.body.bytes {
let image = NSImage(data: Data(bytes))
print(image)
return JSON(["Testawesome":"awesome123"])
}
return JSON(["test":"123"])
}

如何仅使用 swift 发送多部分请求?这是我正在使用的当前发布请求代码。

 let tiffData = imagetosend?.tiffRepresentation
let imageRep = NSBitmapImageRep(data: tiffData!)
let image_data = imageRep?.representation(using: .JPEG, properties: [:])
print("Hi")

let url = NSURL(string: "http://localhost:8080/getArt")

let request = NSMutableURLRequest(url: url! as URL)
request.httpMethod = "POST"


//define the multipart request type

request.setValue("multipart/form-data", forHTTPHeaderField: "Content-Type")


let body = NSMutableData()

let mimetype = "image/png"

//define the data post parameter




body.append("Content-Type: \(mimetype)\r\n\r\n".data(using: String.Encoding.utf8)!)
body.append(image_data!)
body.append("\r\n".data(using: String.Encoding.utf8)!)


request.httpBody = body as Data



let session = URLSession.shared


let task = session.dataTask(with: request as URLRequest) {
(
data, response, error) in

guard let _:NSData = data as NSData?, let _:URLResponse = response , error == nil else {
print(error?.localizedDescription)
return
}

let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
print(dataString)

}

task.resume()

最佳答案

我用这个 alamofire 方法解决了它。

Alamofire.request("YOUR URL", method: .post, parameters: parm, encoding: JSONEncoding.default).responseJSON(completionHandler: { json in
// If you want to return json.
print(json)
})

关于Swift 3 如何使用 Vapor 发送多部分发布请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40728827/

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