【发布时间】:2023-03-20 01:44:01
【问题描述】:
我使用this answer 到this question 中的代码将我的iPhone 应用程序中的图像发布到网站上的php 页面。本质上,代码会创建正确格式的 html 流并提交它。
为了完整起见,我已经重新发布了代码。
- (BOOL)uploadImage:(NSData *)imageData filename:(NSString *)filename{
NSString *urlString = @"http://www.yourdomainName.com/yourPHPPage.php";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@\"\r\n",filename]] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
return ([returnString isEqualToString:@"OK"]);
}
但是我不够聪明 :( 来弄清楚如何添加通用字段值,例如。我想添加一个评论字段以与图像文件一起提交。
关于如何修改该代码以向 POST 表单添加多个字段的任何建议。
谢谢。
更新:我可以通过修改我发布的 URL 以包含 GET 参数来使其工作,但我宁愿使用所有发布参数。
【问题讨论】:
标签: iphone html objective-c