iOS調用相機并且上傳照片的方法

ygp8 9年前發布 | 4K 次閱讀 C/C++ IOS

1 調用相機并且上傳照片的方法

#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&quot;;           /*        上傳時候調用的方法              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</pre>

2 手動存儲相片到相冊

    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];   //存儲不可以過快
    }


3 按鈕文字設置成中文

info.plist 中添加Localized resources can be mixed 設置為YES


4 圖片選擇控制器

當想自己寫一個圖片選擇控制器的時候,需要利用AssetsLibrary.framework,利用這個框架獲得所有的相冊圖片

 本文由用戶 ygp8 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!