2010-05-01 62 views
0

我正在开发一个应用程序。我在其中发布图像到.aspx页面。该页面的HTML如下所示。将数据发布到iPhone应用程序的aspx页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>"> 
<html xmlns="http://www.w3.org/1999/xhtml>"> 
<head><title> 
Untitled Page 
</title><link href="App_Themes/XXX/XXX.css" type="text/css" rel="stylesheet" /></head> 
<body> 
    <form name="form1" method="post" action="Default16.aspx" id="form1" enctype="multipart/form-data">  
<div>  
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTQwMjY2MDA0Mw9kFgICAw8WAh4HZW5jdHlwZQUTbXVsdGlwYXJ0L2Zvcm0tZGF0YWRktr+hG1VVXZsO01PCyj61d6Ulqy8=" /> 
</div> 
<div> 
    <div style="float:left;margin:10px"> 
     <input type="file" name="fuImage" id="fuImage" /> 
    </div> 
    <div style="float:right"> 
      <input type="submit" name="btnPost" value="Post Image" id="btnPost" /> 
    </div> 
    </div> 
    </form> 
</body> 
</html> 

现在我从我的应用程序发送一个请求,然后我得到“错误域= kCFErrorDomainCFNetwork代码= 303 =的UserInfo 0xf541c0”操作无法完成。 (kCFErrorDomainCFNetwork错误303.)“”

我试过使用SynchronousRequest和aSynchronousRequest,但两者都不工作。我也使用苹果示例代码。

下面是iPhone应用程序

UIImage *image=[UIImage imageNamed:@"photo2.jpg"]; 
NSData *imageData = UIImageJPEGRepresentation(image, 90); 
NSString *urlString = @"http://XXXXXXXX.com/Post.aspx"; 
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
[request setURL:[NSURL URLWithString:urlString]]; 
[request setHTTPMethod:@"POST"]; 
NSString *boundary = [NSString stringWithString:@"----WebKitFormBoundarylU9pAl5wPrF+Tk52"]; 
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:@"Content-Disposition: form-data; name=\"fuimage\"; filename=\"asd.jpg\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:@"Content-Type: image/jpeg\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]; 
// NSLog(returnString); 
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
if(theConnection) 
{ 
webData = [[NSMutableData data] retain]; 
} 
else 
{ 
NSLog(@"theConnection is NULL"); 
} 

回答

2

代码作为一般规则,如果你想从外部源(比ASPX其他,做一些疯狂的东西),你是一个更好的数据发布简单的“处理程序”(ashx)或ASP.NET MVC路线。在“处理程序”的情况下,你可以直接访问请求表单/查询字符串等。在MVC的情况下,它应该主要为你完成。

aspx不是原始帖子的朋友。

在具体情况下,kCFErrorDomainCFNetwork建议某种网络错误,但您需要一个http跟踪来确认它。

+0

感谢您的回复。我尝试了其他方式,现在我没有收到任何错误,但也无法从服务器端获得任何回应。另外,当我从iPhone应用服务器发送请求到服务器不能够从应用程序获取请求。你有这个问题的想法吗? iPhone架构有什么问题吗?请给我你的建议。我会继续按照你给出的方向。 谢谢。 – 2010-05-03 04:00:17

相关问题