將圖片存入到相冊中
常用李明杰的第三方庫。
UIImageWriteToSavedPhotosAlbum(<#UIImage *_Nonnull image#>, <#id_NullablecompletionTarget#>, <#SEL_Nullable completionSelector#>, <#void * _Nullable contextInfo#>)
參數:
image
帶保存的圖片UImage對象
completionTarget
圖像保存至相冊后調用completionTarget指定的selector(可選)
completionSelector
completionTarget的方法對應的選擇器,相當于回調方法,需滿足以下格式
contextInfo指定了在回調中可選擇傳入的數據
當我們需要異步獲得圖像保存結果的消息時,我們需要指定completionTarget對象以及其completionSelector對應的選擇器
- (void)saveImageToPhotos:(UIImage*)savedImage
{
UIImageWriteToSavedPhotosAlbum(image,self,@selector(mage:didFinishSavingWiithError:contextInfo:),NULL);
}
//指定回調方法
- (void)image: (UIImage*) image didFinishSavingWithError: (NSError*) error contextInfo: (void*) contextInfo
{
NSString*msg = nil ;
if(error != NULL){
msg=@"保存圖片失敗";
}else{
msg=@"保存圖片成功";
}
UIAlertView*alert = [[UIAlertView alloc] initWithTitle:@"保存圖片結果提示"
message:msg
delegate:self
cancelButtonTitle:@"確定"
otherButtonTitles:nil];
[alert show];
}
//調用示例
UIImage*savedImage = [UIImageimageNamed:"savedImage.png"];
[selfsaveImageToPhotos:savedImage];
網絡數據
網絡下載 使用第三方
網絡上傳
/**
*圖片上傳
*/
-(void)imageViewUpLoad{
NSData*icon = [[NSDataalloc]initWithBase64EncodedString:@""options:NSDataBase64DecodingIgnoreUnknownCharacters];
UIImage*image = [UIImageimageWithData:icon];
NSString*url=@"";
AFHTTPRequestOperationManager *manager =[AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializerserializer];
[manager POST:url parameters:paramsconstructingBodyWithBlock:^(idformData) {
[formDataappendPartWithFileData:fileData name:@"uploadFile"fileName:@"icon.jpg"mimeType:@"image/jpeg"];
[MBProgressHUD showMsg:@"正在加載中"];
} success:^(AFHTTPRequestOperation*operation,idresponseObject) {
}
}
//獲取圖片并將其存入到沙盒中
-(void)imagePickerController:(UIImagePickerController*)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info{
//獲取點擊的圖片
UIImage*image = info[UIImagePickerControllerOriginalImage];
self.icon= image;
NSData*fileData =UIImageJPEGRepresentation(image, 1.0);
//將圖片轉化成字符串
NSString*encodedImageStr = [fileDatabase64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
//存儲到沙盒
ZPEmpInfo*emp = [[ZPEmpInfoalloc]init];
emp.icon= encodedImageStr;
[ZPAccountInfoToolsaveEmpIcon:emp];
[self.iconButtonsetImage:imageforState:UIControlStateNormal];
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
沙盒中:
#define
empIcon [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES)lastObject]stringByAppendingPathComponent:@"empIcon.archiver"]
//個人頭像
+ (void)saveEmpIcon:(ZPEmpInfo*)icon
{
[NSKeyedArchiverarchiveRootObject:icontoFile:empIcon];
}
+ (ZPEmpInfo*)empIconAccount
{
ZPEmpInfo*icon = [NSKeyedUnarchiverunarchiveObjectWithFile:empIcon];
returnicon;
}