코드 사본은 다음과 같습니다.
<input name = "file"type = "file">
formsize = request.totalBytes
formdata = request.binaryread (formsize)
bncrlf = chrb (13) & chrb (10)
divider = leftb (formdata, clng (instrb (formdata, bncrlf)) -1)
DataStart = instrb (FormData, Bncrlf & Bncrlf) +4
dataend = instrb (datastart+1, formdata, divider) -datastart
mydata = midb (FormData, DataStart, DataEnd)
formsize = request.totalBytes
업로드 된 바이트의 최대 수를 얻으십시오
--------------------------------------------------------------------------------------------------------------------------------
formdata = request.binaryread (formsize)
이진 스트림의 양식 데이터를 얻습니다
--------------------------------------------------------------------------------------------------------------------------------
bncrlf = chrb (13) & chrb (10)
CRLF 설정 라인 브레이크 코드 변수를 설정하십시오
---------------------------------
divider = leftb (formdata, clng (instrb (formdata, bncrlf)) -1)
첫 번째 CRLF 왼쪽에서 바이트 데이터를 얻으십시오.
Instb (Formdata, Bncrlf) -1 머신은 CRLF의 이진 바이트의 비트 값이 1 개, 즉 플래그 비트 정보 이전의 이진 데이터로 감소되는지 확인합니다. Instb는 CLNG를 반환한다는 점에 유의해야하므로 여기에 CLNG를 추가하면 불필요합니다.
---------------------------------
DataStart = instrb (FormData, Bncrlf & Bncrlf) +4
이미지 데이터를 가져 와서 양식 양식으로 추가 된 헤더 정보의 시작 위치를 제거합니다.
두 개의 연속 CRLFS +4의 위치 (즉, 하나의 CRLFG의 길이)
-------------------------------------
dataend = instrb (datastart+1, formdata, divider) -datastart
상기에서 얻은 데이터 위치 +1은 데이터의 끝을 확인하기위한 기준 계산 값으로 사용됩니다. 위치 감지는 DataStart+1에서 시작하여 제 1 바이너리 양식 분리기 헤더 정보의 위치를 반환 한 다음 DataStar의 상대 위치를 빼냅니다.
--------------------------------------------------------------------------------------------------------------------------------
mydata = midb (FormData, DataStart, DataEnd)
Midb ()는 위의 많은 비틀기와 회전에서 얻은 업로드 파일 데이터의 스타 엔드 비트 데이터를 가져옵니다.
OK --------------> 이제 업로드 된 보조 데이터를 깨끗하게 추출하십시오
메모:
(1). *B 시리즈의 모든 VB 기능은 바이트로 처리되며 2 차 시스템을 처리하는 데 사용해야합니다.
(2) 유형 = 파일 및 해당 양식 유형의 양식 데이터가 제출 된 후 해당 헤더 정보가 각 파일 필드에 첨부됩니다.
따라서 위의 알고리즘은 실제 파일 데이터를 명확하게 찾기 위해 사용해야합니다.
(3). 동시에 헤더 정보에는 C : /aaa/aaa.jpg와 같은 초기 파일 이름을 업로드하는 데이터도 포함됩니다. FormData의 데이터는 세그먼트의 파일 도메인 데이터의 첫 번째 테스트 파일 이름으로 처리 될 수 있습니다.
(4). 이 알고리즘은 HTTP "Form"사양에 의해 제공된 형식 데이터에서 파생되므로 모든 처리 알고리즘이 유사합니다!