使用通常的方式将数据上传到 Alamofire,例如发布其他数据
Posted
技术标签:
【中文标题】使用通常的方式将数据上传到 Alamofire,例如发布其他数据【英文标题】:Upload Data to Alamofire Using the Usual Way like Posting other data 【发布时间】:2015-09-13 06:21:28 【问题描述】: let parameters = [
"profile_picture" : "\(profilePictureData)",
]
Alamofire.request(.POST, UPDATE_PROFILE_PICTURE_URL + "token=\(userToken)", parameters: parameters, encoding: .JSON, headers: AUTHENTICATION_HEADER).response (request, response, data, errorType) -> Void in
if(data != nil)
let responseStr:NSString = NSString(data:data!, encoding:NSUTF8StringEncoding)!
print(responseStr);
let resultObject: APIResults = APIResults(JSONDecoder(data!));
let responseCode: Int = Int(resultObject.code!)!;
if(responseCode == 200)
succeeded = true;
到目前为止,这是我的代码,我正在尝试将 NSData
的 profilePictureData 发布到服务器,就像我通常发送字符串或整数的方式一样。我将 profilePictureData 放到 body 参数中。这总是失败并且服务器返回错误。
我应该如何将我的图像数据发送到服务器?
请帮忙。谢谢
【问题讨论】:
【参考方案1】:以此为模型。只需相应地编辑它。
Alamofire.upload(.POST,
URLString: "https://example.com/api/v1/users/\(user_id)/profile_pic.json?auth_token=\(auth_token)",
multipartFormData: multipartFormData in
multipartFormData.appendBodyPart(data: imageData, name: "avatar", fileName: "avatar_img.png", mimeType: "image/png")
,
encodingCompletion: encodingResult in
switch encodingResult
case .Success (let upload, _, _):
upload.responseJSON request, response, data, error in
// Do whatever
case .Failure (let encodingError):
//Realistically, I don't expect this to ever trigger, but I guess if the user uses some very weird image format...
)
【讨论】:
嗨,我应该把我的标题授权放在哪里?谢谢 对不起,我找到了header参数。感谢您的帮助以上是关于使用通常的方式将数据上传到 Alamofire,例如发布其他数据的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3 使用 Alamofire 将数据上传到服务器
使用 PHP 在 Swift 5 中使用 Alamofire 接收图像上传
Alamofire v4,Swift v3 将 Sqlite 文件上传到域