首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传图片时出现问题(iphone sdk,multipartform-data)

上传图片时出现问题(iphone sdk,multipartform-data)
EN

Stack Overflow用户
提问于 2010-06-25 20:46:35
回答 1查看 954关注 0票数 0

我需要上传图像到自定义服务器。我的代码是这样的:

代码语言:javascript
复制
NSString* boundary = @"blablablablabla";
NSString* boundaryString = [NSString stringWithFormat:@"\r\n--%@\r\n", boundary];
NSString* boundaryStringFinal = [NSString stringWithFormat:@"\r\n--%@--\r\n", boundary];

NSMutableData* postData = [NSMutableData dataWithCapacity:[imageData length] + 1024];

NSString* s = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"s\"\r\n\r\n%@\r\n", @"addimage"];
NSString* ad = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"ad\"\r\n\r\n%@\r\n", adIdx];
NSString* u = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"u\"\r\n\r\n%@\r\n", uid];

[postData appendData:[boundaryString dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[s dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[ad dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[u dataUsingEncoding:NSUTF8StringEncoding]];

[postData appendData:[boundaryString dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"image\";\r\nfilename=\"image.jpg\"\r\nContent-Type: image/jpg\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:imageData];
[postData appendData:[boundaryStringFinal dataUsingEncoding:NSUTF8StringEncoding]];

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http:a.b.c/d.php"]];
[request setHTTPMethod:@"POST"];

NSString* dataLength = [NSString stringWithFormat:@"%d", [postData length]];
[request addValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary] forHTTPHeaderField:@"Content-Type"];
[request addValue:@"a.b.c" forHTTPHeaderField:@"Host"];
[request addValue:dataLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:postData];

[NSURLConnection connectionWithRequest:request delegate:self];

它看起来很好,但是作为对这个请求的响应,我有这样一行:"Missing paramter u“。谁能告诉我问题出在哪里?

EN

回答 1

Stack Overflow用户

发布于 2010-06-25 21:02:31

missing parameter u消息几乎肯定来自服务器上的PHP。我猜想它应该在一个"u"\r\n\r\n结构中。你需要知道服务器需要什么才能解决这个问题。

我建议您将post请求作为字符串转储,粘贴到浏览器中,看看是否可以让它工作。这样,您就可以确保理解请求的正确形式,以便可以在代码中构建它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3118080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档