2010-05-01 56 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

相關問題