2010-11-24 5 views
1

코코아에서 파일을 제출할 수 있습니까? 나가 의미하는 것은 나가 HTML에있는 올려주기 분야에서 그것을 선택했다처럼 나가 나의 서버에 올려주기 원한 클라이언트 측에 파일이있다이다. 그런 다음 서버가 텍스트 필드에 보낸 응답을 표시해야합니다.코코아 POST 파일 요청

전혀 가능합니까? 그렇다면 진행률 표시 줄에 진행률을 표시 할 수 있습니까? 일반적인 POST 요청을 보내는 코드가 있지만 서버 측 PHP 스크립트에 효과적으로 파일을 보내는 방법을 알지 못합니다.

도움 주셔서 감사합니다.

당신은이 같은 파일의 내용 제출할 수 있습니다

답변

3

: 당신의 PHP 스크립트에 의해 제공

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://"]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:@"text/xml" forHTTPHeaderField:@"Content-type"]; 

NSString *xmlString = [NSString stringWithFormat:@"%@"]; 

[request setValue:[NSString stringWithFormat:@"%d", [xmlString length]] 
forHTTPHeaderField:@"Content-length"]; 

[request setHTTPBody:[xmlString dataUsingEncoding:NSUTF8StringEncoding]]; 

NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

응답이 모두 구현해야합니다 (대표 검색 할 수 있습니다 자세한 내용은 있는 NSURLConnection 설명서를 참조가,이 인 예 :

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response 
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
+0

이것은 텍스트 파일에서만 작동하는 것처럼 보입니다. ZIP 아카이브와 같은 파일은 어떻게됩니까? –

+0

setHTTPBody는 NSData 객체를 허용합니다 (http://stackoverflow.com/questions/3891149/convert-zip-file-into-nsdata 참조). –