2012-10-26 3 views
0
I am sending a dict with objects 
//Check n/w status 
if ([Helper checkNetworkStatus]) { 
    NSMutableDictionary *dict = [[NSMutableDictionary alloc] init]; 
    [dict setObject:self.mEmailAddress.text forKey:@"emailaddress"]; 
    [dict setObject:self.mNameTextField.text forKey:@"firstname"]; 
    [dict setObject:self.mPhoneNumber.text forKey:@"lastname"]; 
    [dict setObject:self.mTextView.text forKey:@"notes"]; 
    [dict setObject:[NSData dataWithContentsOfFile:self.mPdfPath] forKey:@"uploadedfile"]; 
    NSLog(@"The Data is %@",dict); 

    WebServiceHelper *mWebServiceHelperOBJ = [[WebServiceHelper alloc]init]; 

    // Posting Data Url 
    NSMutableArray *responseDict = (NSMutableArray *)[[mWebServiceHelperOBJ makeCallToURL:@"test.php" withDataPost:dict] JSONValue]; 
    NSLog(@" The response Dict is%@",responseDict); 

    if ([[responseDict valueForKey:@"JsonObject"] isEqualToString:@"DEFAULT_VALUE"]) 
    { 
     [Helper showAlert:@"Message" withMessage:@"Data posted successfully"]; 
    } 
} 



//Postind data & reponse 
- (NSString *)makeCallToURL:(NSString*)url withDataPost:(NSMutableDictionary*)dict { 

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[[NSString stringWithFormat:@"%@%@",kURL,url] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; 
[urlRequest setTimeoutInterval:180]; 

NSString *requestBody = [NSString stringWithFormat:@"JsonObject=%@", [dict JSONRepresentation]]; 

[urlRequest setHTTPBody:[requestBody dataUsingEncoding:NSUTF8StringEncoding]]; 
    // [urlRequest setValue:@"application/json" forHTTPHeaderField:@"content-type"]; 
[urlRequest setHTTPMethod:@"POST"]; 

NSURLResponse *response; 
NSError *error; 
NSData *responseData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error] ; 

if([responseData length]) 
{ 
    NSString *data = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease];  
    return data; 
} 
return nil; 

} 데이터의업로드 PDF 파일

but the request Body represent an error.. 

    PDFGenerator[1000:1c103] -JSONRepresentation failed. Error trace is: (
"Error Domain=org.brautaset.JSON.ErrorDomain Code=1 \"JSON serialisation not supported for NSConcreteData\" UserInfo=0xb178d50 {NSLocalizedDescription=JSON serialisation not supported for NSConcreteData}", 
"Error Domain=org.brautaset.JSON.ErrorDomain Code=1 \"Unsupported value for key uploadedfile in object\" UserInfo=0xb107430 {NSUnderlyingError=0xb178d70 \"JSON serialisation not supported for NSConcreteData\", NSLocalizedDescription=Unsupported value for key uploadedfile in object}" 

인쇄 설명 :
공지 사항 : E에 비 개체의 속성을 얻으려고 노력 : \ wwwroot에 \ 팀 \ 라인 vikramjit \의 test.php7

공지 사항 : E에 비 개체의 속성을 얻으려고 노력 : \ wwwroot에 \ 팀 \ vikramjit \ test.php 라인8

공지 사항 : E에 비 개체의 속성을 얻으려고 노력 : \ wwwroot에 \ 팀 \ vikramjit \ test.php 라인 9

공지 사항 : E에 비 개체의 속성을 얻으려고 노력 : \ wwwroot에 \ 팀 \ vikramjit \ test.php 라인10
01 23,516,
공지 사항 : E에 비 개체의 속성을 얻으려고 노력 : \ wwwroot에 \ 팀 \ vikramjit \ test.php 라인11

날 좀 도와주세요 .....

답변

0

JSON에 바이너리 데이터를 포함 할 수 없습니다. 파일 내용을 문자열로 인코딩하고 (base64 또는 다른 알고리즘을 사용하여) NSString에 저장해야합니다.