我以為一直比較難弄逞带,在網(wǎng)上查閱了一些資料欺矫,看的都比較懵,自己總結(jié)了一下展氓。高手勿噴穆趴。
直接上代碼
//創(chuàng)建屬性
@property(nonatomic,strong)UIImagePickerController* pickerController;
@property(nonatomic,strong)? UIImage *? ownSendImage;
_pickerController是自創(chuàng)建的屬性;
首先控制器遵循<UIImagePickerControllerDelegate,UINavigationControllerDelegate>這兩個代理
- (void)viewDidLoad {
_pickerController= [[UIImagePickerControlleralloc]init];
_pickerController.delegate=self;
_pickerController.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;
_pickerController.allowsEditing=YES;
}
//主要是在兩個代理方法里面
#pragma mark-UIImagePickerControllerDelegate
- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
ownSendImage= info[@"UIImagePickerControllerEditedImage"];
NSData* da =UIImageJPEGRepresentation(ownSendImage,0.4);
[self upLoadPictureWithData:da];
[self dismissViewControllerAnimated:YEScompletion:nil];
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController*)picker{
[pickerdismissViewControllerAnimated:YEScompletion:^{
NSLog(@"取消");
}];
}
#pragma mark提交上傳傳入字典
- (void)upLoadPictureWithData:(NSData*)data{
NSMutableDictionary*dicde = [[NSMutableDictionaryalloc]init];
[dicde setObject:[database64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]forKey:@"file"];
//這里是你上傳用的url及參數(shù)
NSString* url = [[NSStringstringWithFormat:@"http://www.xxxxx.com/csApi-img_upload-%@-%@.html",ID,terminalType]stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSetURLQueryAllowedCharacterSet]];
NSLog(@"上傳url:%@",url);
[dicde setObject:data forKey:@"file"];
[dicde setObject:@"cae6a10963fce9bad62a10148a9be169" forKey:@"secret"];
[MBProgressHUDshowMessage:@"上傳中..."view:self.view];
self.sessionManager= [AFHTTPSessionManagermanager];
self.sessionManager.responseSerializer= [AFHTTPResponseSerializerserializer];
self.sessionManager.responseSerializer.acceptableContentTypes= [NSSetsetWithObjects:@"application/json",@"text/json",@"text/plain",@"text/html",nil];
[self.sessionManagerPOST:urlparameters:dicdeconstructingBodyWithBlock:^(id_NonnullformData) {
[formData appendPartWithFileData:dataname:[NSString stringWithFormat:@"file"]fileName:@"image.jpg"mimeType:@"image/jpg"];
}progress:^(NSProgress*_NonnulluploadProgress) {
}success:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {
NSDictionary* picDict = [NSJSONSerialization JSONObjectWithData:responseObjectoptions:NSJSONReadingMutableContainerserror:nil];
NSLog(@"圖片上傳:%@",picDict);
}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {
NSLog(@"圖片上傳error:%@",error);
}];
}