2011-11-13 34 views
1

我有一個關於OCRApiService.com爲開發者提供的代碼的問題。OCRApiService.com SDK問題?

這是他們所提供的代碼:

//author : Altaf A. M. 
//Code Snippet to convert the captured/picker'd (sic) image via OCRApiService 
//Input parameter: UIImage 
//output parameter: NSString 
//updates possible(rather necessary): integrate it asynchronously 

- (NSString *) upload:(UIImage *)myImage 
{ 
    NSString *urlString = @"http://api.ocrapiservice.com/1.0/rest/ocr"; 
    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
    [request setURL:[NSURL URLWithString:urlString]]; 
    [request setHTTPMethod:@"POST"]; 

    NSMutableData *body = [NSMutableData data]; 

    NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; 
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary]; 
    [request addValue:contentType forHTTPHeaderField:@"Content-Type"]; 

    // file 
    // NSData *imageData = UIImagePNGRepresentation(myImage); 
    NSData *imageData = UIImageJPEGRepresentation(myImage, 1.0); 
    [body appendData:[[NSString stringWithFormat:@"--%@", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithString:@"Content-Disposition: attachment; name=\"image\"; filename=\".jpg\""] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream"] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[NSData dataWithData:imageData]]; 
    [body appendData:[[NSString stringWithString:@""] dataUsingEncoding:NSUTF8StringEncoding]]; 

    // Text parameter1 

    NSString *param1 = @"en"; 
    [body appendData:[[NSString stringWithFormat:@"--%@", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"language\""] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithString:param1] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithString:@""] dataUsingEncoding:NSUTF8StringEncoding]]; 

    // Another text parameter 

    NSString *param2 = @"YOUR_API_KEY"; 
    [body appendData:[[NSString stringWithFormat:@"--%@", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"apikey\""] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithString:param2] dataUsingEncoding:NSUTF8StringEncoding]]; 
    [body appendData:[[NSString stringWithString:@""] dataUsingEncoding:NSUTF8StringEncoding]]; 

    // close form 

    [body appendData:[[NSString stringWithFormat:@"--%@--", boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 

    // set request body 

    [request setHTTPBody:body]; 

    //return and test 

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
    NSString *returnedString = [[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] autorelease]; 


    // NSLog(@"received string = %@", returnString); 

    // UIAlertView *returnedText = [[UIAlertView alloc] initWithTitle:@"Returned Text" message:[NSString stringWithFormat:@"%@", returnString] delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; 

    // [returnedText show ]; 

    // [returnedText release]; 

    return returnedString; 

} 

我把我的API密鑰,但問題是,每當我把這種方法,我得到

received string = HTTP/1.1 400 Bad Request 
The language parameter is missing 

根據該文檔,我有設置正確的語言,但我不知道爲什麼它仍然會出現此錯誤消息...

謝謝!

+0

我也願意爲任何人提供賞金,幫助我得到這個工作! –

+0

此外,returnedString變量是出現此錯誤消息的地方。 –

回答

1

我是ocrapiservice.com的擁有者。

api正在工作,但代碼段中存在一個錯誤。 你能否在https://github.com/smart-mobile-software/ocrapiservice/issues上打開一個問題?

我們會在一週內糾正它。

+0

好的,謝謝!此外,包含一種使其成爲異步方法的方法將會很有幫助。顯示圖像完全加載時調用的回調方法也是有幫助的! –