정적 페이지를 생성하는 방법은 일반적으로 템플릿을 사용하는 데 사용됩니다. 나는 이것을 알고있다. 이제 ASP 파일에서 생성 된 HTML 코드를 정적 페이지에 직접 저장하고 싶습니다. 이것은 홈페이지를 만드는 데 매우 적합합니다. 그 당시 인터넷에서 콘텐츠를 찾아서 다음과 같이 찾았습니다. 시도해 보면 완료 할 수 있지만 파일이 커지면 오류가 발생합니다. 이유는 무엇입니까? Textarea 또는 기타에 저장된 파일에 제한 사항이 있습니까? 인터넷을 반복적으로 검색하고 IECN에 도움을 요청했습니다. 나는 다시 시도하고 시도했고 양식에 제한이 있음을 발견했습니다. 양식 제한을 온라인으로 해결하는 문제를 발견했습니다.
다시 게시자는 다음과 같습니다.
양식으로 전송 된 데이터의 양이 크면 오류 가보고됩니다. MSDN을 살펴보면 Microsoft가 IIS4의 IIS4의 80K 바이트 및 IIS5에서 80K 바이트로 수신 할 수있는 최대 데이터에 제한이 있기 때문입니다.
Microsoft가 제공하는 몇 가지 솔루션은 다음과 같습니다.
1. 요청을 대신 대신 request.binaryread를 사용하여 데이터 양식 데이터를 구문 분석하는 방법;
2. 다음과 같은 파일 업로드 체계를 사용하십시오.
3. 102399 바이트의 한계는 각 폼 요소에 대해, 제출할 때 102399보다 큰 양식 요소 내용은 제출할 여러 양식 요소로 나뉩니다.
다음은 샘플 코드입니다. (Microsoft는 다음과 같이 생각합니다. 다음 코드는 특정 요구에 완전히 적용되지 않을 수 있으며 이러한 코드를 사용한 결과에 대한 책임이 없습니다!)
코드 사본은 다음과 같습니다.
<formmethod = postaction = bargenpost.aspname = theformonsubmit = "breakitup ()">
<Textarearows = 3cols = 100name = bigTextArea> abunchoftext ... </textRea>
<inputtype = admitvalue = go>
</form>
<scriptLanguage = javaScript>
functionbreakitup ()
{
// setTHELIMITFORFIELDSIZE.
// 컨텐츠에 한자가있는 경우 : 51100으로 설정할 수 있습니다.
varformlimit = 102399
// thelarge inputObject의 값을 얻습니다.
Vartempvar = Newstring
tempvar = document.theform.bigtextArea.Value
// theEbjectisGreaterThanthElimit의 이형 인 경우 breakit
// intomultipleObjects.
if (tempvar.length> formlimit)
{
document.theform.bigtextArea.value = tempvar.substr (0, formlimit)
tempvar = tempvar.substr (formlimit)
while (tempvar.length> 0)
{
varobjtextArea = document.createElement ( "TextArea")
objtextArea.name = "bigtextArea"
objtextArea.value = tempvar.substr (0, formlimit)
document.theform.appendChild (objtextArea)
tempvar = tempvar.substr (formlimit)