上傳照片的兩種方式

第一種:以文件流的形式上傳圖片。

formDate 設(shè)置數(shù)據(jù)name:@“改為傳給后臺(tái)的參數(shù)名”

AFHTTPSessionManager*manager = [AFHTTPSessionManagermanager];

//接收類型不一致請(qǐng)?zhí)鎿Q一致text/html或別的manager.responseSerializer.acceptableContentTypes= [NSSetsetWithObjects:@"application/json",

@"text/html",

@"image/jpeg",

@"image/png",

@"application/octet-stream",

@"text/json",

nil];

//AppDelegate*myDelegate = (AppDelegate*)[[UIApplicationsharedApplication]delegate];

//NSDictionary*dic =@{@"id":myDelegate.userId};

NSURLSessionDataTask*task = [managerPOST:urlparameters:dicconstructingBodyWithBlock:^(id_NonnullformData) {

NSData*imageDatas = imageData;

NSDateFormatter*formatter = [[NSDateFormatteralloc]init];

formatter.dateFormat=@"yyyyMMddHHmmss";

NSString*str = [formatterstringFromDate:[NSDatedate]];

NSString*fileName = [NSStringstringWithFormat:@"%@.jpg", str];

//上傳的參數(shù)(上傳圖片,以文件流的格式)

[formDataappendPartWithFileData:imageDatas

name:@"photo"

fileName:fileName

mimeType:@"image/jpeg"];

}progress:^(NSProgress*_NonnulluploadProgress) {

//打印下上傳進(jìn)度

NSLog(@"上傳進(jìn)度");

NSLog(@"%@",uploadProgress);

}success:^(NSURLSessionDataTask*_Nonnulltask,id_NullableresponseObject) {

//上傳成功

NSLog(@"上傳成功");

NSLog(@"%@",responseObject);

}failure:^(NSURLSessionDataTask*_Nullabletask,NSError*_Nonnullerror) {

//上傳失敗

NSLog(@"上傳失敗");

}];

第二種:將image轉(zhuǎn)成NSData,在進(jìn)行base64加密上傳。

//獲取照片的代理方法

- (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info {

NSString*mediaType = [infoobjectForKey:UIImagePickerControllerMediaType];

UIImage*image = [[UIImagealloc]init];

if([mediaTypeisEqualToString:@"public.image"]){

image = [infoobjectForKey:@"UIImagePickerControllerOriginalImage"];

[_headimagesetImage:image];

//? ? ? ? [_changeBtn setImage:image forState:UIControlStateNormal];

NSData*data;

if(UIImagePNGRepresentation(image) ==nil) {

data =UIImageJPEGRepresentation(image,1);

}else{

data =UIImageJPEGRepresentation(image,0.001); //壓縮圖片,方便上傳

}

// ? ? ? //獲取文件路徑

NSString*imageString = [database64EncodedStringWithOptions:0];

轉(zhuǎn)成base64字符串imageString,再傳給給后臺(tái),在傳參中需要添加圖片的類型(@“png”或@“jpg”等)

}

[pickerdismissViewControllerAnimated:YEScompletion:nil];

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容