Загруженное использование скрипта
Ниже приведен пример загруженного сценария для разработки. Файл загрузки в этой статье содержит файлы и код в примере. Отпустите сжатый файл в путь и настройте виртуальный путь для вашего сетевого сервера. Вы можете протестировать и запустить uploadform.html в браузере.
Позвонить скрипту
Ниже приведен способ вызвать метод BuilduploAdrequest. Сначала позвоните в полный процесс: uploadRequest. Затем вызовите метод BuiluPloadRequest, а затем передайте его на исходные бинарные данные запроса в независимой переменной.
bytecount = request.totalbytes
RequestBin = request.binaryRead (bytecount)
Dim uploadRequest
Настройка uploadRequest = createObject
BuilduploadRequest requestBin
Данные разлагаются и хранятся в словарном объекте и восстанавливаются с помощью метода item (). Эти данные элемента могут храниться в переменных VBScript и могут использоваться в любом месте в коде. Данные могут быть переданы в качестве ответа на клиент или использоваться в коде ASP, или в файле и помещать в базу данных.
Получить данные
Данные объекта uploadRequest могут быть доступны с функцией Item ("Key"). Давайте рассмотрим эту ситуацию сейчас: чтобы получить доступ к значению управления электронной почтой. Вы можете сделать это:
Email = oploadRequest.item ("Email").
Поскольку это управление текстом, содержимое является строкой, эта строка может использоваться, как и любая другая строка VBScript. Для двоичных данных вы можете восстановить контент в том же методе:
Piction = uploadRequest.item ("Blob").
Вы также можете получить доступ к другой информации, такой как имя файла и тип контента. Это управление текстом.
ContentType = uploadRequest.item ("Blob").
FilePathName = uploadRequest.item ("Blob").
Используйте данные в коде VBScript
Загруженные данные могут использоваться в коде VBScript, как и другие переменные. Например, они могут отправить обратно клиенту в качестве ответа.
Ваша электронная почта: < % = электронная почта %>
Имя файла Young - это < % = filePathName %>
Тип файла вашей картинки < % = contentType %>
Бинарные данные также могут быть отправлены обратно клиенту. Должен быть установлен тип контента, и двоичные данные могут использоваться для написания метода BinaryWrite.
response.contentType = contentType response.binaryWrite
Записать загруженные данные в файл
В случае управления классом файла цель состоит в том, чтобы хранить двоичные данные в файле или домен базы данных вместо передачи их обратно клиенту. Эта цель является неотъемлемой характеристикой загрузки файлов. Используйте объект файловой системы для хранения загруженного файла в файловой системе сервера.
Сначала создайте объект файловой системы:
'Create filesyTemObject Component ScriptObject = server.createObject ("scripting.filesyStemObject")
Используйте объект файловой системы для создания файла в пути. Путь может быть абсолютным, непосредственно указывая на файловую систему (например, c:/temp). Это также может быть относительным, под виртуальным путем, определяемым сетевым сервером. Используйте метод Mappath и переменную сервера PATH_INFO, чтобы перейти виртуальный путь к абсолютному пути.
Метод записи требует двойной строки в качестве независимой переменной, поэтому номер одного байта преобразуется в строку. Метод записи отвечает за преобразование этой двойной строки и написания ее в формате ASCII. Это устанавливает двоичный контент, содержащий нашу оригинальную одноразовую строку. Я назвал этот файл «Загружено + имя файла».
'Создать и записать в файл SET MYFILE = scriptObject.createTextFile (server.mappath (request.servervariables_ ("path_info") и "загруженная" & filename)
для i = 1 до lenb (значение)
myfile.write chr (ascb (midb (значение, i, 1)))))
следующий
myfile.close
Запустите загруженные данные в базу данных
Данные также могут храниться в базе данных. Контент-тип также должен храниться в базе данных, чтобы данные могли отображаться позже. Прежде всего, мы должны установить связь с базой данных.
Установить conn = server.createObject ("adodb.connection")
conn.open "dsn = wroxdns", "user", "pass"
Затем создайте набор записей из подключения:
SQL = "Выберите фото, ContentType от mytable"
Установить rs = server.createObject
Rs.oopen SQL, Conn, 3, 3, 3
После того, как набор записей будет создан, поместите двоичные данные в домен Blob базы данных:
PictureChunk = Picture & Chrb (0)
Rs.fields ("Piction").
Rs.fields ("contentType") = contentType
Rs.Update
Conn.close
В методе ApendChunk я должен решить ошибку. На самом деле, я заметил, что когда бинарные данные имеют странные байты числа, метод AppendChunk не передает последний байт. Решение состоит в том, чтобы добавить CHR (0), чтобы убедиться, что все байты передаются. Может быть, есть и другие методы, если да, скажите, пожалуйста.
Чтобы получить отражение базы данных, используйте тот же набор записей и используйте правильный тип контента, чтобы отправить его обратно клиенту в качестве ответа.
response.contenttype = rs.fields ("contentType")
size = rs.fields ("Piction")
Blob = Rs.fields ("Piction").
response.binaryWrite Blob
в заключение
Эта статья показывает полный способ подать файл с помощью VBScript. Кодирование полностью VBScript, независимо от третьих сторонних продуктов.
Сначала введите процесс загрузки (используя содержимое «Multipart/Form-Data» для HTML). Затем подробно введите загруженный код VBScript. В начале краткий обзор функции VBScript рабочей строки и одной серии номеров одного байта. Затем введите код сценария и структуру загрузки данных.
Наконец, несколько целей этого скрипта, от загрузки переменных в код ASP до базы данных или файловых систем для хранения файлов загрузки.
Нажмите на ссылку ниже, чтобы загрузить <a href = "http://www.asptoday.com/articles/images/20000316.zip"> Рутинный код этой статьи.