AFNetworking实现表单(multipart)形式上传图片
最近遇到个问题,就是上传图片到服务器,后台说用表单形式...
由于没弄过这种上传,所以搜了大堆资料,但也没解决问题。
最后通过请教一位大神才得以解决这个简单的问题...
现在将此方法做个笔记...
<form action="http://xxxxxx?AppId=6&AppKey=409eb153a6ee96e064ba8d883xxxxx&Ac=PhotoUpload&Uid=5" method="post" enctype="multipart/form-data" name="upload_form"> <input name="UploadFile" type="file"/> <input type="text" name="Title" /> <input name="btn1" type="submit" /> </form>
数据给的形式为上面所示。
对应的上传图片代码如下:
NSURL *imageUrl = [NSURL URLWithString:@"file:///Users/abc/Desktop/image.png"];
/** 路径已拼接好参数,也可用传 dictionary 到 parameters 中*/ [manager POST:@"http://xxxxx?AppId=6&AppKey=409eb153a6ee96e064ba8d883xxx&Ac=PhotoUpload&Uid=5" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { [formData appendPartWithFileURL:imageUrl name:@"UploadFile" error:nil]; } success:^(AFHTTPRequestOperation *operation, id responseObject) { [MBProgressHUD showError:@"保存成功"]; } failure:^(AFHTTPRequestOperation *operation, NSError *error) { [MBProgressHUD showError:@"上传失败"]; }];
对照着数据跟代码,应该就看得懂了。