调用相机并且上传照片的方法

#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;
    
    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
时间: 2024-10-11 12:36:09

调用相机并且上传照片的方法的相关文章

iOS调用相机,相册,上传头像

一.新建工程 二.拖控件,创建映射 三.在.h中加入delegate @interface ViewController : UIViewController 复制代码 四.实现按钮事件 -(IBAction)chooseImage:(id)sender { UIActionSheet *sheet; // 判断是否支持相机 if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCam

Android使用XUtils框架上传照片(一张或多张)和文字,服务器接收照片和文字(无乱码)

Android上传图片,这里我使用了现在比较流行的XUtils框架,该框架可以实现文件上传.文件下载.图片缓存等等,有待研究. 下面是Android段上传的代码: xUtils.jar下载 String uploadHost="http://192.168.1.100:8080/ReceiveImgFromAndroid/ReceiveImgServlet"; //服务器接收地址 RequestParams params=new RequestParams(); params.addB

Django项目:CRM(客户关系管理系统)--61--51PerfectCRM实现CRM客户报名流程学生合同上传照片

1 # sales_views.py 2 # --------47PerfectCRM实现CRM客户报名流程-------- 3 from django.db import IntegrityError #主动捕捉错误信息 4 from django.shortcuts import render #页面返回 5 from crm import models #数据库 6 from bpm.bpm_auxiliary import bpm_forms #自定制 forms 7 8 # -----

Iphone H5上传照片被旋转

最近做项目发现在Iphone下,我们上传图片都会被翻转,最后查阅资料发现,的确是IOS的问题 不说过程,直接解决方法 iOS下,html方式使用<input type="file">上传图片,图片会被旋转.遇到这个问题js是无法解决的,html也没有相应的解决方案.只能放到后台去处理,将旋转的图片再旋转回来.iOS拍摄的图片提供了EXIF信息,Orientation值为6即顺时针90度,有了这个信息我们只需要逆时针旋转90度即可. 伪代码  //下面是php的伪代码 $ex

asp.net中fileupload上传文件的方法

FileUpload 控件显示一个文本框控件和一个浏览按钮,使用户可以选择客户端上的文件并将它上载到 Web 服务器.用户通过在控件的文本框中输入本地计算机上文件的完整路径(例如,C:\MyFiles\test.txt)来指定要上载的文件.用户也可以通过单击“浏览”按钮,然后在“选择文件”对话框中定位文件来选择文件. 用户选择要上载的文件后,FileUpload 控件不会自动将该文件保存到服务器.您必须显式提供一个控件或机制,使用户能提交指定的文件.例如,可以提供一个按钮,用户单击它即可上载文件

给图片添加手势,上传照片

.h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate> { UIImageView *imageView; } .m - (void)viewDidLoad { [super viewDidLoad]; // Do

上传照片

//上传照片function action_upload(){ //获取上传文件的文件信息 $photoname = $_FILES['photo']['name']; $type = $_FILES['photo']['type']; $tmp_name = $_FILES['photo']['tmp_name']; $size = $_FILES['photo']['size']; $error = $_FILES['photo']['error']; $maxSize = 20971520

umeditor1.2.2 jsp版本更改图片上传路径的方法

最近在做一个bbs项目,需要一个轻量级的编辑器,看过来看过去,都是百度编辑器挺好看的 怎么部署百度编辑器我就只截取部分图片,关键是更改图片上传路径的方法 这是部署百度编辑器需要的引入的js文件,目录要对应 在网页需要编辑器的地方添加这段代码,写好样式表,直接要class引入,编辑器的长宽就会自适应,后面的内容会在百度编辑器初始化后自动填写在百度编辑器中, 你可以试一下,name属性是后台接受表单提交是获取内容时使用的字段 UM.getEditor("myEditor");这句是初始化百

Struts上传照片到服务器

     关于Struts上传照片的功能,可能很多人都已经接触过了.我记得我之前做过一个上传Jar包的功能,那时候是用SpringMVC做的,先做一个类似于上传的功能,将Jar包添加进行之后解读Jar包,是因为要拿到Jar包里面的类名.属性名和中文注释,但是又没办法手动将所有Jar包拷贝到项目下,所以想着用上传的方式来实现.现在是要做上传照片.将用户的照片保存到服务器的文件夹下,如果该文件夹存在,则直接上传,如果不存在就创建该文件夹然后再上传. 前台代码: <pre name="code