是否可以从Cocoa中提交文件?我的意思是我在客户端有一个文件,我希望将其上传到我的服务器,就像我在HTML的上传字段中选择它一样。然后,我需要显示服务器在文本字段中发送的响应。
这是否可行,如果可以,我可以在进度条上显示进度吗?我确实有代码发送常规POST请求,但我不知道如何有效地将文件发送到服务器端PHP脚本。
感谢您的帮助!
答案 0 :(得分:3)
您可以提交如下文件的内容:
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];
您的PHP脚本提供的响应可由代理检索(所有必须实现,有关详细信息,请参阅 NSURLConnection 文档,有一个示例):
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
- (void)connectionDidFinishLoading:(NSURLConnection *)connection