//拿到上傳頭像的接口
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);
}];