//1.單張圖上傳 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) { //使用日期生成圖片名稱 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSString *fileName = [NSString stringWithFormat:@"%@.png",[formatter stringFromDate:[NSDate date]]]; [formData appendPartWithFileData:imageData name:@"uploadFile" fileName:fileName mimeType:@"image/png"]; } success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) { //上傳圖片成功執行回調 completion(responseObject,nil); } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) { //上傳圖片失敗執行回調 completion(nil,error); }]; 2.多圖上傳 多圖上傳和單圖上傳區別在於文件名稱 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) { NSInteger imgCount = 0; for (NSData *imageData in imageDatas) { NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS"; NSString *fileName = [NSString stringWithFormat:@"%@%@.png",[formatter stringFromDate:[NSDate date]],@(imgCount)]; [formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"uploadFile%@",@(imgCount)] fileName:fileName mimeType:@"image/png"]; imgCount++; } } success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) { completion(responseObject,nil); } failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) { completion(nil,error); }]; 文/Spykerking(簡書做者) 原文連接:http://www.jianshu.com/p/0e28fdef0f91 著做權歸做者全部,轉載請聯繫做者得到受權,並標註「簡書做者」。