据我了解,要使用该网站,我必须将图像转换为 Base64 编码图像,然后将其发送到该网站。然后该网站将向我发回一个数字(十进制)。
https://docs.indico.io/docs/rest-api-image-analysis
我尝试了许多步骤,即尝试改变用于发送文本和接收号码的类似过程。有什么建议吗?
更新:
- (IBAction)press:(id)sender {
//UIImage *imager = photos.image;
NSData *imageData = UIImageJPEGRepresentation(photos.image, 1.0);
NSString *base64Img = [imageData base64EncodedStringWithOptions:NSDataBase64EncodingEndLineWithLineFeed];
//not sure if @"data" or @"data.json" and whether the base64img should be behind it
NSDictionary *parameters = @{@"data":base64Img};
NSMutableString *parameterString = [NSMutableString string];
for (NSString *key in [parameters allKeys]) {
if ([parameterString length]) {
[parameterString appendString:@"&"];
}
[parameterString appendFormat:@"%@=%@", key, parameters[key]];
NSURL *url = [NSURL URLWithString:@"http://apiv2.indico.io/contentfiltering?key='17767cb46eb4b4f568832be2c953022b"];
NSURLSession *session = [NSURLSession sharedSession];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[parameterString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (!error) {
if ([data length]) {
NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
//GET RESULT;
NSLog(@"A %@", parameters[@"results"]);
}
} else {
NSLog(@"%@", error);
}
}];
[task resume];
}
我得到的结果通常返回为(null)
最佳答案
也许可以尝试一下
NSDictionary *parameters = @{@"data":base64Img};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:parameters
options:nil
error:&error];
//do some error checking
NSURL *url = [NSURL URLWithString:@"http://apiv2.indico.io/contentfiltering?key='17767cb46eb4b4f568832be2c953022b"];
NSURLSession *session = [NSURLSession sharedSession];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:jsonData];
//...
这只是我的想法,所以可能需要一些调整
关于ios - 将 Base 64 图像字符串 POST 到 iOS 上的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32448761/