第八章 ios图片上传

    相信很多人在实现图片上传的功能, 是否觉得很烦躁呢, 其实昨晚之后回头去看会发现,其实图片上传并不是太难 ,只不过有时候需要前后端一起配合

    下面就说一下实现的方法

   (1) af 3.0 之前

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

    NSData *data = (根据您的图片文件转换成data);

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

    manager.requestSerializer = [AFJSONRequestSerializer serializer];

    manager.responseSerializer = [AFHTTPResponseSerializer serializer];

    NSString *str = @"application/json";

    [manager.requestSerializer setValue:str forHTTPHeaderField:@"Content-Type"];

    NSMutableURLRequest *request = [manager.requestSerializer multipartFormRequestWithMethod:@"POST" URLString:(你的URL) parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

        [formData appendPartWithFileData:data name:"后台处理的字段" fileName:(文件名)  mimeType:@"image/jpg"];

    } error:nil];

    AFHTTPRequestOperation *operation = [manager HTTPRequestOperationWithRequest:(request) success:^ (AFHTTPRequestOperation * opseration, id responseObject) {


    } failure:^(AFHTTPRequestOperation * operation, NSError * error) {

    }];

    

    [manager.operationQueue addOperation:operation];

    [operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) {      

    }];

(2)3.0 之后

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

    [manager POST:uploadpath parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {

      [formData  appendPartWithFileData :data  name : "后台处理的字段"   fileName :(文件名)    mimeType : @"image/jpg" ];

    } success:^(NSURLSessionDataTask *task, id responseObject) {

    } failure:^(NSURLSessionDataTask *task, NSError *error) {

    }];

(3)多图上传 

 就是把多张图片的data全部加到一张表单里,传给服务器就可以了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值