- #import "ViewController.h"
- #import "AFNetworking.h"
- @interface ViewController () <UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
- @property (weak, nonatomic) IBOutlet UIImageView *imageView;
- @end
- @implementation ViewController
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view, typically from a nib.
- }
- - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- {
- UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"请选择照片" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"相机",@"相册", nil];
- /**
- * window代表着最高处,所有能看到的view,后面都是window。
- * 当push相机控制器的时候,self.view就自动移除了。而当dismiss控制器的时候,因为self.view移除了,所有sheet无法寄居在view的上面,而固定在self.view.window,就可以保证,sheet一定在view视图上
- */
- [sheet showInView:self.view.window];
- }
- -(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
- {
- UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
- ipc.delegate = self;
- ipc.allowsEditing = YES; //相片是否可编辑
- switch (buttonIndex) {
- case 0:
- if (![UIImagePickerController isSourceTypeAvailable:
- UIImagePickerControllerSourceTypeCamera]) return;
- ipc.sourceType = UIImagePickerControllerSourceTypeCamera;
- break;
- case 1:
- if (![UIImagePickerController isSourceTypeAvailable:
- UIImagePickerControllerSourceTypePhotoLibrary]) return;
- ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
- break;
- default:
- return;
- break;
- }
- [self presentViewController:ipc animated:YES completion:nil];
- }
- /**
- * 选择完照片后调用的方法
- *
- *
- * @param info 所有相片的信息都在这个字典
- */
- -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
- {
- [self dismissViewControllerAnimated:YES completion:nil];
- //从字典key获取image的地址
- UIImage *image = info[UIImagePickerControllerOriginalImage];
- self.imageView.image = image;
- }
- - (IBAction)upload:(UIButton *)sender {
- AFHTTPRequestOperationManager *mrg = [[AFHTTPRequestOperationManager alloc] init];
- NSMutableDictionary *params = [NSMutableDictionary dictionary];
- params[@"username"] = @"123";
- NSString *url = @"http://192.168.130.110:8080/MJServer/upload";
- /**
- * 上传时候调用的方法
- *
- * params post的参数,字典
- * formData formData是post上去的数据
- * name 服务器接受文件的名字
- * fileName 文件的名字
- */
- [mrg POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
- NSData *data = UIImageJPEGRepresentation(self.imageView.image, 1.0);
- [formData appendPartWithFileData:data name:@"file" fileName:@"1.jpg" mimeType:@"image/jpeg"];
- } success:^(AFHTTPRequestOperation *operation, id responseObject) {
- NSLog(@"上传成功");
- } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
- NSLog(@"上传失败");
- }];
- }
- @end
- for (int i = 0; i<=9; i++) {
- UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"00%d.png", i]];
- UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
- NSLog(@"%@", image);
- [NSThread sleepForTimeInterval:1]; //存储不可以过快
- }
info.plist 中添加Localized resources can be mixed 设置为YES
当想自己写一个图片选择控制器的时候,需要利用AssetsLibrary.framework,利用这个框架获得所有的相册图片
来源: http://www.phpxs.com/code/1004031/