HttpBody 请求 Swift

HttpBody request Swift

我实际上是在尝试使用其 API 将图像上传到 Imgur。

我遵循了一个教程,当它谈到 HttpBody 时,它告诉我要做类似的事情

let boundary = "Boundary-\(UUID().uuidString)"
request.addValue("multipart/form-data; boundary=&", forHTTPHeaderField: "Content-Type")
var body = ""
body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"image\""
body += "\r\n\r\n\(base64Image ?? "")\r\n"
body += "--\(boundary)--\r\n"
let postData = body.data(using: .utf8)
request.httpBody = postData

效果很好,但我不明白如何向主体添加其他变量,这就是为什么在浏览不同的 Whosebug 问题后,我尝试通过将边界设置为“&”然后自己做一些事情刚刚尝试执行以下操作:

let bodyData = "image=\(base64Image ?? "")"
request.httpBody = bodyData.data(using: .utf8)

但我总是遇到服务器错误,我不明白我做错了什么

如有任何帮助,我们将不胜感激

不得不做一些事情,但设法按照我的意愿填满了 body:

body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"image\""
body += "\r\n\r\n\(base64Image ?? "")\r\n"
body += "--\(boundary)\r\n"
body += "Content-Disposition:form-data; name=\"title\""
body += "\r\n\r\n\(name)\r\n"
body += "--\(boundary)--\r\n"

这使得请求按预期工作并允许我为上传到 Imgur 的图片定义名称