在iOS中,可以使用NSURLSession来发送form-data请求。以下是一个示例代码:

// 创建URL
let url = URL(string: "http://example.com/upload")!

// 创建request
var request = URLRequest(url: url)
request.httpMethod = "POST"

// 创建form-data数据
let formData = NSMutableData()

// 添加文本参数
formData.appendString("--\(boundary)\r\n")
formData.appendString("Content-Disposition: form-data; name=\"username\"\r\n\r\n")
formData.appendString("John Doe\r\n")

// 添加文件参数
formData.appendString("--\(boundary)\r\n")
formData.appendString("Content-Disposition: form-data; name=\"file\"; filename=\"image.jpg\"\r\n")
formData.appendString("Content-Type: image/jpeg\r\n\r\n")
formData.append(imageData) // imageData是文件的二进制数据
formData.appendString("\r\n")

// 添加结束符
formData.appendString("--\(boundary)--\r\n")

// 设置请求头
request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")
request.setValue("\(formData.length)", forHTTPHeaderField: "Content-Length")

// 设置请求体
request.httpBody = formData as Data

// 发送请求
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
    if let error = error {
        print("Error: \(error)")
    } else if let data = data {
        // 处理响应数据
        let responseString = String(data: data, encoding: .utf8)
        print("Response: \(responseString)")
    }
}
task.resume()

以上代码创建了一个POST请求,并使用form-data格式来上传一个文本参数和一个文件参数。你可以根据自己的需求修改和扩展这个示例代码

ios 发送 form-data 请求

原文地址: https://www.cveoy.top/t/topic/ixLi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录