upload request.totalbytes 양식을 통해 업로드된 보조 데이터의 코드 설명을 바이너리 파일로 추출합니다.
다음과 같이 코드 코드를 복사합니다.
<입력 유형="파일">
formsize=request.totalbytes
formdata=request.binaryread(양식 크기)
bncrlf=chrB(13) & chrB(10)
구분선=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(양식 크기)
바이너리 스트림에서 양식 데이터 가져오기
----------
bncrlf=chrB(13) & chrB(10)
crlf 캐리지 리턴 및 줄 바꿈 코드 변수 설정
----------------------------------
구분선=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
첫 번째 crlf 왼쪽에 있는 바이트 데이터를 가져옵니다.
instrb(formdata,bncrlf)-1 기계는 crlf 바이너리 바이트의 비트 값이 플래그 정보 이전의 바이너리 데이터인 마이너스 1인지 확인합니다. instrb가 clng를 반환하므로 여기에 clng가 추가된다는 점에 유의해야 합니다. 많은
----------------------------------
datastart=instrb(formdata,bncrlf & bncrlf)+4
이미지 데이터를 획득하고 양식에 추가된 헤더 정보의 시작 위치를 제거합니다. 이는 type=file이 양식에 제출된 후 실제 파일 데이터의 바이트 시작 위치입니다.
연속된 두 crlf의 위치 + 4(즉, 두 crlfg의 길이)
----------------------------------
dataend=instrb(datastart+1,formdata,divider)-datastart
위에서 구한 데이터 위치+1은 데이터의 끝을 확인하기 위한 기준 계산값으로 사용되며, 첫 번째 바이너리 형식 구분자 헤더 정보의 위치는 datastart+1부터 시작하는 위치에 반환되고, 이후 상대 위치가 반환된다. 데이터스타의 값을 뺍니다.
---------------
mydata=midb(formdata,datastart,dataend)
midb()는 많은 우여곡절을 거쳐 얻은 업로드된 파일 데이터의 스타 끝 비트 형식을 사용합니다.
ok --------------> 이제 업로드된 2차 데이터를 깔끔하게 추출해 보세요.
메모:
(1) 모든 *B 시리즈 VB 기능은 바이트 단위로 처리됩니다.
(2) .type=file 및 해당 양식 유형 양식 데이터가 제출된 후 해당 헤더 정보가 각 파일 필드에 첨부됩니다.
따라서 실제 파일 데이터를 명확하게 찾기 위해서는 위의 알고리즘을 사용해야 합니다.
(3) 동시에 헤더 정보에는 c:/aaa/aaa.jpg와 같은 업로드된 초기 파일 이름의 데이터도 포함됩니다. 파일 도메인 데이터의
(4) 이러한 알고리즘은 http "form" 사양에서 제공하는 형식 데이터에서 파생되므로 어느 회사의 처리 알고리즘도 유사합니다!