0
A
回答
1
这取决于你想发送到服务器。例如:图像文件或文本(就像来自http表单)。
对于一个映像文件格式的UIImage:
NSData *imageData = [NSData dataWithContentsOfFile:ImagePath];
或
NSData *imageData = UIImageJPEGRepresentation(myImage.image, 1.0);
设置你的远程URL(例如,如果你正在使用PHP)
NSString *urlString = "http://yourdomain.com/yourphpfile.php"
其余代码:
NSMutableURLRequest *request2 = [[[NSMutableURLRequest alloc] init] autorelease];
[request2 setURL:[NSURL URLWithString:urlString]];
[request2 setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request2 addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name='userfile'; filename='"] dataUsingEncoding:NSUTF8StringEncoding]];
//give any name for your file(this case image file example)
[body appendData:[[NSString stringWithString:pic_filename.jpg] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"'\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
//add the file data to the http body
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// setting the body of the post to the reqeust
[request2 setHTTPBody:body];
只是文本(在PHP类似于$ _GET)
准备要发送数据的情况。对于来自例如
//You have your first name stored in the_first_name_to_send variable
NSString *f_name = nil;
f_name = [[NSString alloc] initWithFormat:@"%@", the_first_name_to_send];
//Encoding conversion
//This is optional but it ensures that every character encoding type is sent without issues
NSString* escapedUrlStringFirstName =[f_name stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
NSString *string1 = @"firstName=";
NSString *myRequestString;
myRequestString = [string1 stringByAppendingString:escapedUrlStringFirstName];
NSData *myRequestData = [ NSData dataWithBytes: [ myRequestString UTF8String ] length: [ myRequestString length ] ];
NSMutableURLRequest *request2 = [[[NSMutableURLRequest alloc] init] autorelease];
[request2 setHTTPBody: myRequestData ];
[request2 setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
NSData *returnData2 = [ NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil ];
returnData2 = nil;
上传图像文件(在服务器端yourphpfile.php)
$file_tmp = $_FILES['userfile']['tmp_name'];
$filename = $_FILES['userfile']['name'];
使用HTTP POST发送文本(服务器端yourphpfile.php)
形式的第一个名字$fname = $_POST["firstName"];
0
相关问题
- 1. 如何跟踪Apache Web服务器接收到的HTTP数据?
- 2. UIIMAGE和参数到web服务器的HTTP POST
- 3. 请求到Web服务(POST)
- 4. 创建HTTP服务器的
- 5. 如何创建Web服务器
- 6. 如何创建Web服务
- 7. POST变量到Web服务器?
- 8. 使用HTTP从Excel发送数据到服务器Post
- 9. Android - 如何POST数据到服务器数据库
- 10. 如何通过AJAX POST将“数据”发送到ASMX Web服务?
- 11. 设置HTTP POST服务器
- 12. 创建只读数据库/ Web服务?
- 13. 将数据发送到Web服务器
- 14. 发送数据到Web服务器
- 15. HTTP POST和得到服务
- 16. ADO.Net数据服务如何支持POST不是创建?
- 17. 使用Cocoa构建HTTP Web服务器
- 18. 如何使用android通过Http post方法发送数据到服务器?
- 19. .NET Web服务收到HTTP POST请求(500)内部服务器错误
- 20. 将HTTP Post参数从NSDictionary发送到Web服务
- 21. 如何建立一个简单的HTTP POST服务器?
- 22. 如何创建一个http服务器来处理http请求
- 23. 如何将HTTP发布到Web服务?
- 24. 如何将HTTP发布到Web服务?
- 25. 如何将SQLite创建的数据上传到MySQL服务器?
- 26. 创建正确的HTTP POST数据
- 27. 数据发送HTTP到web服务器没有结果
- 28. 发布HTTP数据无法在Android和HTTP服务器之间进行POST POST
- 29. 在服务器的POST数据 - 角4
- 30. 如何发送POST数据,包括JSON,从iOS应用到web服务器
感谢您的快速回复。我试图将10000字节的文本数据发布到服务器。与上述有点不同吗? – Ferdinand 2010-02-12 10:47:41
谢谢。我知道了。 – Ferdinand 2010-02-12 11:11:52
应该没有区别。请注意,发送的数据对于文本和图像都采用NSData格式。我曾与包含超过500000字节的图像:)。这些行: [NSData dataWithData:imageData] and [NSData dataWithBytes:[myRequestString UTF8String] length:[myRequestString length]]; – erastusnjuki 2010-02-12 11:17:44