//拿到上传头像的接口
NSString*urlStr =@"http://10.0.8.8/sns/my/upload_headimage.php";
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
//设置content-type
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
//参数列表(字典类型)
NSDictionary*dic =@{@"m_auth":m_auth};
//用post上传图片
/*
第一个参数:接口网址路径
第二个参数:参数列表(字典类型)
第三个参数:上传图片的block(请求体)
第四个参数:进度block
第五个参数:成功block
第六个参数:失败block
*/
[manager POST:urlStr parameters:dic constructingBodyWithBlock:^(id_NonnullformData) {
//这个Block是上传图片的block或者说上传正文block
//取出文件的路径(在工程中相对)如果打印是绝对路径
//NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"upload" ofType:@"png"];
NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"upload2"ofType:@"jpg"];
/*
第一个参数:原始图片位置的URL
第二个参数:名字:这个名字由后台提供
第三个参数:上传后文件的名字,这个名字不重要(自定义)
第四个参数:MIME类型这里是PNG格式图片类型image/png
第五个参数:报错信息
*/
/*
超文本标记语言文本.html text/html
xml文档.xml text/xml
XHTML文档.xhtml application/xhtml+xml
普通文本.txt text/plain
RTF文本.rtf application/rtf
PDF文档.pdf application/pdf
Microsoft Word文件.word application/msword
PNG图像.png image/png
GIF图形.gif image/gif
JPEG图形.jpeg,.jpg image/jpeg
au声音文件.au audio/basic
MIDI音乐文件mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件.ra, .ram audio/x-pn-realaudio
MPEG文件.mpg,.mpeg video/mpeg
AVI文件.avi video/x-msvideo
GZIP文件.gz application/x-gzip
TAR文件.tar application/x-tar
任意的二进制数据application/octet-stream
*/
//文件路径
[formData appendPartWithFileURL:[NSURL fileURLWithPath:imagePath] name:@"headimage"fileName:@"upload2.jpg"mimeType:@"image/jpeg"error:nil];
#if0
//二进制文件
if(data !=nil) {
[formData appendPartWithFileData:data name:@"name"fileName:@"abcdefg.png"mimeType:@"image/png"];
}
#endif
} progress:^(NSProgress *_NonnulluploadProgress) {
NSLog(@"进度:%@",uploadProgress);
} success:^(NSURLSessionDataTask *_Nonnulltask,id_NullableresponseObject) {
NSLog(@"上传成功");
} failure:^(NSURLSessionDataTask *_Nullabletask, NSError *_Nonnullerror) {
NSLog(@"上传失败%@",error);
}];