2011-04-20 149 views

回答

1

这里有一个类似的问题: File Upload to HTTP server in iphone programming

代码:

NSString *urlString = @"http://yourserver.com/upload.php"; 
NSString *filename = @"filename"; 
request= [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:urlString]]; 
[request setHTTPMethod:@"POST"]; 
NSString *boundary = @"---------------------------14737809831466499882746641449"; 
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; 
[request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 
NSMutableData *postbody = [NSMutableData data]; 
[postbody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@.jpg\"\r\n", filename] dataUsingEncoding:NSUTF8StringEncoding]]; 
[postbody appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
[postbody appendData:[NSData dataWithData:YOUR_NSDATA_HERE]]; 
[postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[request setHTTPBody:postbody]; 

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]; 
NSLog(returnString); 
+0

哪里呢链接此代码正在采取我的文件的文件?什么是边界?我不明白。请解释一下代码... – Shahriar 2011-04-20 09:40:05

+0

[postbody appendData:[NSData的dataWithData:YOUR_NSDATA_HERE]; 而是“YOUR_NSDATA_HERE”放“[NSData的dataWithContentOfFile:@”路径/到/文件“]” 的代码是不是从我,跟着我的链接,以获得更多的相关信息;) – ingham 2011-04-20 20:55:54

相关问题