gpt4 book ai didi

ios - alamofire multipartformdata 使用 urlrequest

转载 作者:搜寻专家 更新时间:2023-10-31 22:56:46 27 4
gpt4 key购买 nike

我想用Alamo fire multipart form数据使用请求,比如我用upload API

let profile = self.photoView.imageView?.image

let parameters : [String:String] = [
"homePageUrl": webURLField.text!,
"nickName": nickNameField.text!,
"selfIntro": introField.text!,
]

let uri = Constants.APIURL.changeProfile
let fileName = "\(nickNameField.text!).jpg"

Alamofire.upload(multipartFormData: { (multipartFormData) in
if let imageData = UIImageJPEGRepresentation(profile!, 1.0) {
multipartFormData.append(imageData, withName: "profile", fileName: fileName, mimeType: "image/jpg")
}

for ( key, value ) in parameters {
multipartFormData.append(value.data(using: String.Encoding.utf8, allowLossyConversion: false)!, withName: key)
}

}, usingThreshold: UInt64.init(), to: uri, method: .patch, headers: Constants.VyrlAPIConstants.getHeader(), encodingCompletion:
{
encodingResult in
switch encodingResult {
case .success(let upload, _, _):

upload.uploadProgress(closure: { (progress) in
})

upload.responseString { response in
if ((response.response?.statusCode)! == 200){
self.navigationController?.popViewController(animated: true)
}
}
case .failure(let encodingError):
print(encodingError.localizedDescription)
}
})

此代码从服务器发送 400 响应日志是。

PATCH 'http://blablabla.com:8080/users/profile':

Content-Type: multipart/form-data; boundary=alamofire.boundary.53a2e440bad1fabd X-Device: ios X-APP-Version: 1.0.0 Accept-Language: ko-kr 400 'http://blablabla.com:8080/users/profile' [0.0976 s]: X-Application-Context: application:dev Connection: close Transfer-Encoding: Identity Date: Thu, 13 Jul 2017 01:57:41 GMT

server want to receive http://blablabla.com:8080/users/profile?nickName=abcd&selfIntro=hi%20my%20name%20is.. server log is.. (success 200 code)

curl -X PATCH --header 'Content-Type: multipart/form-data' --header 'Accept: /' --header 'X-APP-Version: 1.0.0' --header 'X-Device: ios' --header 'Accept-Language: ko-KR' {"type":"formData"} 'http://blablabla.com:8080/users/profile?nickName=abcd&selfIntro=hi%20my%20name%20is..'

当然,我要附上?nicName=abcd使用多格式数据

如何使用alamofire代码?

最佳答案

如果不起作用,则使用这样的参数制作 url。

 Alamofire.upload(multipartFormData:{ multipartFormData in
multipartFormData.append(imgData, withName: "profile",fileName: fileName, mimeType: "image/jpg")},
usingThreshold:UInt64.init(),
to:uri + "?" +nickNameField.text! +"?"+ webURLField.text!+"?"+introField.text!,
method:.post,
headers:Constants.VyrlAPIConstants.getHeader(),
encodingCompletion: { encodingResult in
switch encodingResult {
case .success(let upload, _, _):
upload.responseJSON { response in
print(response.result.value)
}
case .failure(let encodingError):
print(encodingError)
}
})

关于ios - alamofire multipartformdata 使用 urlrequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45070571/

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