Кода -копия выглядит следующим образом:
<input name = "file" type = "file">
formize = request.totalbytes
FormData = request.binaryRead (Formize)
bncrlf = chrb (13) и chrb (10)
Divider = левый (formData, clng (instrb (formdata, bncrlf))-1)
dataStart = instrb (formData, bncrlf & bncrlf) +4
dataend = instrb (dataStart+1, formdata, divider) -datastart
mydata = midb (formdata, datastart, dataend)
formize = request.totalbytes
Получите максимальное количество загруженных байтов
----------------------------------------------------------------------------------------------------------------------------
FormData = request.binaryRead (Formize)
Получить данные формы бинарного потока
----------------------------------------------------------------------------------------------------------------------------
bncrlf = chrb (13) и chrb (10)
Установить переменную кода кода ввода строки введите
---------------------------
Divider = левый (formData, clng (instrb (formdata, bncrlf))-1)
Получите данные байта слева от первого CRLF
Instrb (FormData, Bncrlf) -1 Машина проверяет, что битовое значение бинарного байта CRLF уменьшается на один, то есть двоичные данные перед информацией о битах флага. Следует отметить, что Instrb возвращает CLNG, поэтому добавление здесь не нужно.
---------------------------
dataStart = instrb (formData, bncrlf & bncrlf) +4
Получите данные изображения и удалите начальную позицию информации о заголовке, добавленной формой формы, то есть начальная позиция байтов реальных данных файла после того, как форма будет отправлена вашим файлом type =
Положение двух последовательных CRLF +4 (т.е. длина одного CRLFG)
-------------------------------
dataend = instrb (dataStart+1, formdata, divider) -datastart
Положение данных +1, полученное из вышеупомянутого, используется в качестве эталонного вычисленного значения для проверки конца данных. Обнаружение позиции начинается при DataStart+1 возвращает положение первой информации о заголовке разделителя двоичной формы, а затем вычитает относительное положение данных DataStar
----------------------------------------------------------------------------------------------------------------------------
mydata = midb (formdata, datastart, dataend)
MidB () принимает данные о битах звездного бита о данных файла загрузки, полученных вышеупомянутыми изгибами и поворотами
ОК ---------------> теперь чисто извлечь загруженные вторичные данные
Примечание:
(1). Все функции VB серии *B обрабатываются байтами, и они должны использоваться для обработки вторичных систем.
(2) После того, как данные формы типа = файла и соответствующего типа формы отправляются, соответствующая информация заголовка прикреплена к каждому поле файла.
Следовательно, приведенный выше алгоритм должен использоваться для четкого поиска реальных данных файлов
(3). В то же время информация заголовка также содержит загрузку данных, начиная с первоначального имени файла, например, C: /AAA/AAA.JPG. Данные FormData могут быть обработаны первое имя файла тестирования данных файла домена сегмента.
(4). Эти алгоритмы получены из данных формата, предоставленных спецификацией HTTP «Форма», поэтому любой алгоритм обработки аналогичен!