【问题标题】:Post data to aspx page from iphone application从 iphone 应用程序将数据发布到 aspx 页面
【发布时间】:2023-03-09 07:06:02
【问题描述】:

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

<!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");
}

【问题讨论】:

标签: iphone post asp.net


【解决方案1】:

作为一般规则,如果您想从外部源(除了 aspx,它会做一些疯狂的事情)发布数据,您最好使用简单的“处理程序”(ashx)或 ASP.NET MVC 路由。在“处理程序”的情况下,您可以直接访问请求表单/查询字符串等。在 MVC 的情况下,它应该主要为您完成。

aspx 不是原始帖子的朋友。

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

【讨论】:

  • 感谢您的回复。我已经尝试过其他方式,现在我没有收到任何错误,但也无法从服务器端获得任何响应。此外,当我从 iPhone 应用程序服务器向服务器发送请求时,无法从应用程序获取请求。你对这个问题有想法吗? iPhone架构有什么问题吗?请给我你的建议。我会按照你给的方向走。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
  • 2011-11-10
  • 2010-09-17
相关资源
最近更新 更多