AF 對咱們開發(fā)者來說并不陌生阎毅,今天要說的就是如何利用af來上傳圖片以及語音文件:(注:af 可以去github下載)
其實af可以進行二次分裝今天就先不談分裝直接用af原生庫上傳。
1.首先導入
#import "AFNetworking.h"
2.代碼
AFHTTPRequestOperationManager * mager=[AFHTTPRequestOperationManager manager];
//設(shè)置相應(yīng)內(nèi)容類型
mager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
//設(shè)置延遲時間
mager.requestSerializer.timeoutInterval = 30;
//參數(shù)(1)url:服務(wù)器接口 (2)params 參數(shù)傳遞(可以為空)(3)self.choosePicShow.mainArray (上傳的圖片數(shù)組)
[mager POST:url parameters:params constructingBodyWithBlock:^(idformData) {
for(NSInteger i = 0; i < self.choosePicShow.mainArray.count; i++){
UIImageView * imageView = [self.choosePicShow.mainArray objectAtIndex:i];
UIImage* image = imageView.image;
NSData* imageData = UIImageJPEGRepresentation(image, 0);//轉(zhuǎn)化為二進制數(shù)據(jù)上傳服務(wù)器
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
NSString *fileName = [NSString stringWithFormat:@"%@.png", str];//時間格式命名圖片避免名字重復
[formData appendPartWithFileData:imageData name:@"file[]" fileName:fileName mimeType:@"image/jpeg"];
}
//語音文件上傳
NSString? * paths? =mp3SavePath;
NSLog(@"----上傳文件路徑-----%@",paths);
NSData * Sounddata=[NSData dataWithContentsOfFile:paths];//同樣轉(zhuǎn)化二進制數(shù)據(jù)上傳
[formData appendPartWithFileData:Sounddata name:@"sounds" fileName:@"l23.mp3" mimeType:@"amr/mp3/wmr"];
} success:^(AFHTTPRequestOperation *operation, NSDictionary *statusDict) {// statusDict上傳成功服務(wù)返回的數(shù)據(jù)
NSLog(@"success=%@",statusDict);
int? code=[[statusDict valueForKey:@"code"]intValue];
if(code==1){
[LSXother ShowMBProgressHUDWithTitle:@"上傳成功!" andImageNmae:nil addView:self.view];
[self.navigationController popViewControllerAnimated:YES];
}else{
[LSXother ShowMBProgressHUDWithTitle:@"上傳失敗睡毒!" andImageNmae:nil addView:self.view];
}
[SVProgressHUD dismiss];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"success=%@",error);
[SVProgressHUD dismiss];
[LSXother ShowMBProgressHUDWithTitle:@"網(wǎng)絡(luò)超時,請稍候重試!" andImageNmae:nil addView:self.view];
}];
以上就是上傳的代碼如有錯誤和不足希望指出资厉,我會進一步改進謝謝!