Извлеките описание кода загруженных вторичных данных через форму upload request.totalbytes в виде двоичного файла.
Скопируйте код кода следующим образом:
<тип ввода="файл">
formize=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)
formize=request.totalbytes
Получить максимальное количество загруженных байтов
-----------------------
formdata=request.binaryread(размер формы)
Получить данные формы из двоичного потока
-----------------------
bncrlf=chrB(13) & chrB(10)
Установите переменную кода возврата каретки crlf и перевода строки
----------------------------------
делитель = leftB (formdata, clng (instrb (formdata, bncrlf))-1)
Получите байтовые данные слева от первого crlf.
instrb(formdata,bncrlf)-1 Машина проверяет, что значение двоичного байта crlf равно минус единице, что соответствует двоичным данным перед информацией о флаге. Следует отметить, что instrb возвращает clng, поэтому сюда добавляется clng. избыточный
----------------------------------
datastart=instrb(formdata,bncrlf & bncrlf)+4
Получите данные изображения и удалите начальную позицию информации заголовка, добавленную формой формы, которая является начальной позицией байта реальных данных файла после отправки вашего типа = файла в форму.
Позиция двух последовательных crlf + 4 (то есть длина двух crlfg)
----------------------------------
dataend=instrb(datastart+1,formdata,divider)-datastart
Позиция данных + 1, полученная из вышеизложенного, используется в качестве эталонного расчетного значения для проверки конца данных. Позиция первой информации заголовка разделителя двоичной формы возвращается в позиции, начиная с datastart + 1, а затем относительная позиция. datastar вычитается.
----------------------------
mydata=midb(formdata,datastart,dataend)
Midb() принимает звездообразный формат битов загруженных файловых данных, полученных с помощью множества неожиданных поворотов.
ок --------------> Теперь аккуратно извлеките загруженные вторичные данные
Примечание:
(1). Все функции VB серии *B обрабатываются побайтно. Они должны использоваться для обработки вторичных систем.
(2) После отправки .type=file и соответствующих данных формы типа формы к каждому полю файла прикрепляется соответствующая информация заголовка.
Следовательно, приведенный выше алгоритм необходимо использовать для однозначного нахождения реальных данных файла.
(3) В то же время информация заголовка также содержит данные загруженного исходного имени файла, например c:/aaa/aaa.jpg. Данные formdata могут быть обработаны таким же образом для извлечения предварительного имени файла. данных файлового домена.
(4) Эти алгоритмы основаны на данных формата, предоставленных спецификацией http «form», поэтому алгоритмы обработки любой компании аналогичны!