2010-03-12 31 views
1

我試圖通過包含超過542個字符的HTTPService發送表單字段時收到一個FaultEvent。Flex HttpService POST限於每個表單字段543個字節?

初始化HttpService的:

httpServ = new HTTPService(); 
httpServ.method = 'POST'; 
httpServ.url = ENDPOINT_URL; //http://localhost:3001/ReportError.aspx 
httpServ.resultFormat = HTTPService.RESULT_FORMAT_TEXT; 
httpServ.contentType = HTTPService.CONTENT_TYPE_FORM; 
httpServ.addEventListener(ResultEvent.RESULT, OnErrorSent); 
httpServ.addEventListener(FaultEvent.FAULT, OnFault); 

發送請求:

var params:Object = {};   
//params["stack"] = e.stackTrace.slice(0, 542); //length 542 = works 
//params["stack2"] = e.stackTrace.slice(1, 543); //length 542 = works (just to show that it's not about the content itself) 
params["stack3"] = e.stackTrace.slice(0, 543); //length 543 = fails 

我似乎也能創造出許多表單字段(與542的長度),所以它不是的限制請求自己但表單域:

var params:Object = {};   
params["stack"] = e.stackTrace.slice(0, 542); //length 542 
params["stack2"] = e.stackTrace.slice(1, 543); //length 542 
params["stack3"] = e.stackTrace.slice(2, 544); //length 542 
// Length > 1600 chars 

接收方是一個ASP.NET 4網站相同的域和端口。

我希望有人已經遇到類似的限制,或者就如何進一步追蹤這個問題提出一些一般建議。

在此先感謝。

+0

我可以提供的是,這是不同於Flex的問題,我定期在一個字段中發佈500kb,有時不超過2MB沒有任何問題。 – invertedSpear 2010-03-12 19:30:43

+0

你可以發佈一個代碼片段作爲這個線程的解決方案嗎?我可能會監督一些事情,你的代碼可以提供一些有價值的提示......謝謝 – motto 2010-03-12 21:21:25

回答

0

我認爲這可能是我發送的數據有問題。我現在將數據編碼爲Base64,並且可以發送大塊數據而沒有問題。

base64 = new Base64Encoder(); 
base64.encodeUTFBytes(text); 
params['stacktrace'] = base64.flush();