上传图片

来源:互联网 发布:饮食养生的软件 编辑:程序博客网 时间:2024/06/01 08:03

//先把图片转成NSData

        UIImage* image = [infoobjectForKey:@"UIImagePickerControllerOriginalImage"];

        //压缩图片

        NSData *dataImage =UIImageJPEGRepresentation(image,0.5);

        //图片保存的路径 这里将图片放在沙盒的documents文件夹中

        NSString * DocumentsPath = [NSHomeDirectory()stringByAppendingPathComponent:@"Documents"];

        NSLog(@"图片储存路径:%@",DocumentsPath);

        //文件管理器

        NSFileManager *fileManager = [NSFileManagerdefaultManager];

        //把刚刚图片转换的data对象拷贝至沙盒中并保存为image

        [fileManager createDirectoryAtPath:DocumentsPathwithIntermediateDirectories:YESattributes:nilerror:nil];

        [fileManager createFileAtPath:[DocumentsPathstringByAppendingString:@"/image.jpg"]contents:dataImage attributes:nil];

        //得到选择后沙盒中图片的完整路径

        NSString *filename = [[NSStringalloc]initWithFormat:@"%@%@",DocumentsPath,@"/image.jpg"];

        AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];

        manager.requestSerializer = [AFJSONRequestSerializerserializer];

        manager.requestSerializer.timeoutInterval =8;

        NSMutableDictionary *params = [NSMutableDictionarydictionary];

        params[@"token"] =myToken;

    

        [manager.requestSerializersetValue:myTokenforHTTPHeaderField:@"token"];

//        [manager.requestSerializer setValue:filename forHTTPHeaderField:@"file"];

        [manager POST:[NSStringstringWithFormat:@"http://www.yixiucar.com/yxapi/user/upIcon"]

           parameters:paramsconstructingBodyWithBlock:^(id<AFMultipartFormData> formData){

               

//               [formData appendPartWithFileURL:[NSURL URLWithString:filename] name:@"file" fileName:@"image.jpg" mimeType:@"text/plain" error:nil];

               [formData appendPartWithFileData:dataImagename:@"file"fileName:@"image.jpg"mimeType:@"image/jpg"];

//               [formData appendPartWithFileData:[NSData dataWithContentsOfFile:filename] name:@"file" fileName:@"image.jpg" mimeType:@"multipart/form-data"];

               [picker dismissViewControllerAnimated:YEScompletion:nil];

               

           }progress:^(NSProgress *uploadProgress){


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

               

//               NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];

//               NSLog(@"dic:====%@",dic);

               NSLog(@"success=======");

               NSData *data1=[NSDatadataWithContentsOfFile:filename];

               headImageView.image = [UIImageimageWithData:data1];

               

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

               

               NSLog(@"error=%@",error);

               

           }];

0 0
原创粉丝点击