peterchen149 2015-05-26 11:06 采纳率: 0%
浏览 17747

使用AFNetWorking 上传字符串,请求失败,Request failed: 请求太大

我要把图片换成nsdata,然后再用base64encoding,把encoding后生成的字符串上传到
服务器,就出这个问题,
报错信息:err:Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: 请求太大 (413)"
我同事用的ASIHTTPRequest库就没问题,请问如何解决?
代码:

 UIImage *img = [self createThumbnailWithSourceImge:sourceImg andNewSize:sz];

       data  = UIImageJPEGRepresentation(img, 0.01);
        NSString *encodedSTR  = [data base64Encoding];
                NSString *currentUrl = @"/app/b/test";
        NSString *urlStr = [NSString stringWithFormat:@"%@%@?picStr=%@",BASEURL,currentUrl,encodedSTR];
        NSURL *url = [NSURL URLWithString:urlStr];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
                 AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc]initWithRequest:request];
    op.responseSerializer = [AFJSONResponseSerializer serializer];
    [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//        NSLog(@"success:%@",responseObject);
        successBlock(responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        failureBlock(error);
    }];
    [op start];


     //   [manager POST:urlStr parameters:nil
     //         success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //          NSLog(@"success:%@",responseObject);
         //     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
         //         NSLog(@"err:%@",error);
         //     }];
  • 写回答

5条回答

  • qq_27361099 2015-05-26 14:38
    关注

    使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法

    添加一行

    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
    即可

    整个代码为:

    复制代码
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
    NSDictionary *parameters = @{@"foo":@"bar"};
    [manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@",responseObject);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error:%@",error);
    }];
    复制代码

    评论

报告相同问题?

悬赏问题

  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 怎么在stm32门禁成品上增加记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号