sharpds77 发表于 2017-6-22 09:14:03

菠萝没有汁

1.文件上传拼接数据的第一种方式  ;
  2.文件上传拼接数据的第二种方式
  ;
  3.文件上传拼接数据的第三种方式
  ;
  4.【注】在资料中已经提供了一个用于文件上传的分类。
  /*文件上传相关的代码如下*/
  -(void)upload
  {
  //1.创建一个请求管理者
  AFHTTPSessionManager *manager = ;
  //2.发送POST请求上传数据
  /*
  第一个参数:请求路径:NSString类型
  第二个参数:要上传的非文件参数
  第三个参数:block回调
  在该回调中,需要利用formData拼接即将上传的二进制数据
  第三个参数:上传成功的block回调
  task:dataTask(任务)
  responseObject:服务器返回的数据
  第四个参数:上传失败的block回调
  error:错误信息,如果上传文件失败,那么error里面包含了错误的描述信息
  */
  NSDictionary *dict = @{
  @"username":@"wenidngding"
  };
  [manager POST:@&quot;http://120.25.226.186:32812/upload&quot; parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>_Nonnull formData) {
  //把本地的图片转换为NSData类型的数据
  UIImage *image = ;
  NSData *data = UIImagePNGRepresentation(image);
  /*
  //拼接二进制文件数据
  第一个参数:要上传的文件的二进制数据
  第二个参数:服务器接口规定的名称
  第三个参数:这个参数上传到服务器之后用什么名字来进行保存
  第四个参数:上传文件的MIMEType类型
  */
  ;

  } success:^(NSURLSessionDataTask * _Nonnull task,>  NSLog(@&quot;请求成功---%@&quot;,responseObject);
  } failure:^(NSURLSessionDataTask * _Nonnull task, NSError * _Nonnull error) {
  NSLog(@&quot;请求失败--%@&quot;,error);
  }];
  }
  -(void)upload2
  {
  NSLog(@&quot;%s&quot;,__func__);
  //1.创建一个请求管理者
  AFHTTPSessionManager *manager = ;
  //2.发送POST请求上传数据
  /*
  第一个参数:请求路径:NSString类型
  第二个参数:要上传的非文件参数
  第三个参数:block回调
  在该回调中,需要利用formData拼接即将上传的二进制数据
  第三个参数:上传成功的block回调
  task:dataTask(任务)
  responseObject:服务器返回的数据
  第四个参数:上传失败的block回调
  error:错误信息,如果上传文件失败,那么error里面包含了错误的描述信息
  */
  NSDictionary *dict = @{
  @&quot;username&quot;:@&quot;wenidngding&quot;
  };
  [manager POST:@&quot;http://120.25.226.186:32812/upload&quot; parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData>_Nonnull formData) {
  //本地文件的url
  NSURL *fileUrl = ;
  /*
  //拼接二进制文件数据
  第一个参数:要上传文件的url路径
  第二个参数:服务器要求的参数名称
  第三个参数:这个文件上传到服务器之后叫什么名称
  第四个参数:文件的mimetype类型
  第五个参数:错误信息
  */
  //      ;
  //另外一种上传文件的方式
  /*
  说明:该方法和上面的方法等价,不过该方法更加简单其内部会自动的的根据url路径确定文件保存名称,并通过内部方法获取上传文件的mimetype类型
  */
  ;

  } success:^(NSURLSessionDataTask * _Nonnull task,>  NSLog(@&quot;请求成功---%@&quot;,responseObject);
  } failure:^(NSURLSessionDataTask * _Nonnull task, NSError * _Nonnull error) {
  NSLog(@&quot;请求失败--%@&quot;,error);
  }];
  }
页: [1]
查看完整版本: 菠萝没有汁