권장 : ASP 용 정적 HTML 파일을 생성하는 몇 가지 방법 비교 HTML 웹 페이지 생성과 같은 정적 HTML 파일을 생성하기 위해 동적 페이지를 변환하는 데는 많은 이점이 있습니다. 검색 엔진 (특히 동적 매개 변수를 허용하는 페이지의 경우)에 포함됩니다. 프론트 데스크에 액세스 할 때 데이터 액세스와 분리되어 데이터베이스 액세스 압력을 완화하고 웹 페이지 오프닝 속도를 높입니다.
ASP를 사용하여 이미지 색상 검증 코드를 생성하십시오
49 개의 코드 줄, 3 개의 파일
ASP 파일 : code.asp
데이터 파일 : body.fix, head.fix
사용법 : <img src = code.asp>
<%옵션 explicitresponse.buffer = truenumcodefunction numcode () response.expires = -1 response.addheader pragma, no-cache response.addheader cache-crtrol, no-cache dim znum, i, j dim ados, ados1 무작위 타이머 znum = cint (8999*rnd 1000) 세션 (getcode). Zimg (4), nstr nstr = cstr (znum) i = 0 ~ 3 zimg (i) = cint (mid (nstr, i 1,1)) 다음 dim pos set ados = server.createobject (adodb.stream) ados.mode = 3 ados.type = 1 ados.open set ados1.createob ados1.mos1. ados1.type = 1 ados1. ados.loadfromfile (server.mappath (body.fix)) ados1. ados.read (1280) i = 0 ~ 3 ados.position = (9-zimg (i))*320 ados1.position = i*320 ados1.write ados.read (320) 다음 (320). ados.loadfromfile (server.mappath (head.fix)) pos = lenb (ados.read ()) ados.position = pos i = 0 ~ 9 j = 0 ~ 3 ados1.position = i*32 j*320 ados.position = pos 30*ji*120 ados.write ados1.read.contenttype = 0 ados.conttype. Response.binaryWrite ados.read () ados.close : set ados = nothing ados1.close : set ados1 = nothingend function 'ASP 코드 BlueIdea.com 웹 팀 V37 2003-7-25%> |
코드 설명 :
| 응답 .buffer = true Numcode 함수 numcode () 응답 .expires = -1 응답. ADDHEADER PRAGMA, NO 캐시 응답. ADDHEADER CACHE-CTROL, NO-CACHE Dim Znum, I, J. Dim Ados, ADOS1 타이머를 무작위 화하십시오 |
임의의 4 자리 숫자를 생성하십시오.
| Znum = Cint (8999*RND 1000) |
세션에 전달하십시오
| 세션 (getCode) = Znum |
루프의 경우에는 랜덤 숫자가 첨자 3이있는 배열에 랜덤 숫자를 넣는 것입니다. 이는 후속 배열 변환을 제공하기에 편리합니다.
| Dim Zimg (3), nstr nstr = cstr (znum) i = 0 ~ 3의 경우 Zimg (I) = Cint (MID (NSTR, I 1,1)) 다음 Dim POS |
'이미지 데이터 작동을 위해 두 개의 adodb.Stream Binary Objects 정의 :
| set ados = server.createobject (adodb.stream) ados.mode = 3 ados.type = 1 ados.open set ados1 = server.createobject (adodb.stream) ados1.mode = 3 ados1.type = 1 ADOS1. OPEN |
'로드 0 ~ 9 디지털 데이터 10x100, GBR 배열 데이터, 각 320 바이트, 10 자리 3200 바이트
'BGR 1 점, 10x10 포인트 1 숫자, 1 점 3 바이트 (이진의 8 비트, 00 ~ ff 16 진수)
'10 포인트 30 바이트 라인 엔드 마크 00 00 2 바이트 32 바이트, 각 숫자 10x10의 길이보다 작은 10x100 이미지는 320 바이트입니다.
'길이가 너비보다 크면 0000의 라인 엔드 마크가 없으며 바이티 300 바이트입니다.
BMP 24 비트 데이터 세부 사항입니다
'머리는 길이와 너비, 이미지 시작 마킹 등을 포함하여 매우 간단합니다. ~~ 54 바이트, JPG 또는 무언가보다 훨씬 덜 복잡합니다.
| ados.loadfromfile (server.mappath (body.fix)) ados1.Write ados.Read (1280) |
'루프의 첫 번째, 10x100 디지털 어레이에서 해당 4 개의 숫자를 생성 한 임의 숫자 순서로 추출하십시오.
그러나 수직 숫자 배열
| i = 0 ~ 3의 경우 ados.position = (9-zimg (i))*320 ados1.position = i*320 ados1. ados.read (320) 다음 |
'중고 ADOS의 데이터를 지우고 새 이미지 헤더 54 바이트를 대체하는 헤더 파일에서 호출
| ados.loadfromfile (server.mappath (head.fix)) pos = lenb (ados.read ()) ados.position = pos |
'POS 위치를 지정한 다음 위치를 54 바이트 만 오프셋하여 그래픽 데이터를 추가하십시오.
루프의 두 번째는 숫자의 배열 변환을 수행하여 수직 블록을 수평 블록으로 변환합니다.
이 방법은 320 바이트의 4 배를 추출하고 ADOS 객체에 쓰고 두 번째 줄에서 오프셋 된 이미지 데이터를 추출하는 것입니다.
30 바이트는 BMP 너비가 00 00 라인 엔드 마크없이 길이보다 크기 때문입니다.
| 다음은 인용 된 내용입니다. i = 0 ~ 9의 경우 1 단계 j = 0 ~ 3의 경우 ados1.position = i*32 j*320 ados.position = pos 30*ji*120 ados.write ados1.read (30) 다음 다음 ados.position = 0 Response.BinaryWrite 이미지 데이터를 클라이언트로 직접 보냅니다 응답 .contentType = 이미지/bmp response.binarywrite ados.read () ados.close : set ados = nothing ADOS1.CLOSE : SET ADOS1 = 아무것도 엔드 기능 |
공유 : ASP 코드 및 페이지의 분리에 대해 ASP 프로그램 TML 코드의 혼합 작성으로 인한 유지 보수 어려움을 피하기 위해이 기사는 템플릿을 사용하여 프로그램과 페이지를 더 쉽게 할 수 있도록하는 방법을 소개합니다. ASP를 사용하여 사이트를 만들 때 ASP 파일이 종종 나타나고 프로그램 코드 및 HTM이 나타납니다.