コードコピーは次のとおりです。
<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の左側にバイトデータを取得します
instrb(formdata、bncrlf)-1マシンは、CRLFのバイナリバイトのビット値が1つ、つまりフラグビット情報の前のバイナリデータが1つずつ削減されることをチェックします。 InstrBがCLNGを返すことに注意する必要があります。したがって、ここにCLNGを追加することは不要です
---------------------------------------
dataStart = instrb(formdata、bncrlf&bncrlf)+4
イメージデータを取得し、フォームフォームで追加されたヘッダー情報の開始位置、つまり、フォームがtype = fileで送信された後の実際のファイルデータのバイトの開始位置を削除します
2つの連続したCRLFS +4の位置(つまり、1つのCRLFGの長さ)
----------------------------------------
DataEnd = instrb(DataStart+1、FormData、Divider)-DataStart
上記から取得したデータ位置+1は、データの終了をチェックするための参照計算値として使用されます。位置検出はDataStart+1から始まります。最初のバイナリフォームセパレーターヘッダー情報の位置を返し、データスターの相対位置を差し引きます
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -
mydata = midb(formdata、datastart、dataend)
midb()は、上記の多くのツイストとターンによって取得されたアップロードファイルデータのスターエンドデータを取得します
OK -------------->アップロードされたセカンダリデータをきれいに抽出します
注記:
(1)。 *bシリーズのすべてのVB関数はバイトで処理され、セカンダリシステムを処理するために使用する必要があります。
(2)type =ファイルと対応するフォームタイプのフォームデータが送信された後、対応するヘッダー情報が各ファイルフィールドに添付されます。
したがって、上記のアルゴリズムを使用して、実際のファイルデータを明確に見つける必要があります
(3)。同時に、ヘッダー情報には、C:/aaa/aaa.jpgなどの初期ファイル名のアップロードも含まれています。 FormDataのデータは、セグメントのファイルドメインデータの最初のテストファイル名を処理できます。
(4)。これらのアルゴリズムは、HTTP「フォーム」仕様によって提供される形式データから派生しているため、処理アルゴリズムは類似しています!