Url Params不接受冗长的字符串

时间:2014-08-06 10:00:25

标签: c# ios objective-c wcf

将图像与数据一起发送到Web服务器时,它不接受冗长的字符串。我通过网址发送数据。它适用于国家,大陆和城市的小字符串

    http://user.co/UserImage.svc/InsertObjectImage?UserId={UserId}&CategoryId={CategoryId}&ImageName={ImageName}&Gender={Gender}&Continent={Continent}&Country={Country}&City={City}

以上网址在程序中使用“?”,之后是params

    NSString *url=[NSString stringWithFormat:@"http://userdata.co.in/UserImage.svc/InsertFacialImage?%@",requestString];
    NSLog(@"insert facial image url : %@",url);

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init] ;
    [request setURL:[NSURL URLWithString:url]];
    [request setHTTPMethod:@"POST"];

我用来发送图像和数据的代码。我正在使用url.Objective-C传递字符串NSString可以容纳最多42亿字符的数据。在Web服务器中,我使它允许200个字符作为参数。但是,当我发送像美国的这样冗长的字符串时,它会在不存储数据时遇到麻烦。使用C#在WCF中开发的服务

1 个答案:

答案 0 :(得分:1)

网址存在长度限制,但也值得检查您的网址是否有效。

网址需要正确编码,因此您应该在网址字符串中传递united%20states%20of%20america而不是united states of america

这是因为URL将空格编码为%20。对于任何其他"特殊"这些字符也是编码的。有许多在线资源可以帮助您,并且可以在此处找到快速在线编码器/解码器:http://meyerweb.com/eric/tools/dencoder/