получить текст из формы в классическом ASP - PullRequest
1 голос
/ 17 сентября 2011

Я хотел бы иметь форму ввода, которая загружает файл (XML) и отправляет его другому на странице ASP.Я не уверен, как «получить» данные из формы.Это очень простая форма страницы.Страница ASP возвращает ошибку 500

<FORM METHOD=POST ENCTYPE="multipart/form-data" ACTION="/v/testasp300.asp">
    File to upload: <INPUT TYPE=FILE NAME="upfile"><BR>
    <INPUT TYPE=SUBMIT VALUE="Submit">
</FORM>

Это соответствующая часть страницы ASP.

Dim objXML, x
Set objXML = CreateObject("MSXML2.DOMDocument")
objXML= Request.QueryString("upfile")
objXML.setProperty "SelectionLanguage", "XPath"

Dim xmldoc: set xmldoc = CreateObject("MSXML2.DomDocument")
xmldoc.async = false
Dim instruction
Set instruction = xmldoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8"" standalone=""yes""")
xmldoc.appendChild instruction 

Dim rss: set rss = xmldoc.createElement("rss")
xmldoc.appendChild rss

Dim itemNode2: Set itemNode2 = xmldoc.selectSingleNode(".//rss")
Dim name: Set name = xmldoc.createAttribute("xmlns:g") 
name.Value = "http://base.google.com/ns/1.0" 
itemNode2.attributes.setNamedItem(name)

Dim itemNode: Set itemNode = xmldoc.selectSingleNode(".//rss")
Dim version: Set version = xmldoc.createAttribute("version") 
version.Value = "2.0" 
itemNode.attributes.setNamedItem(version)

Dim channel: set channel = xmldoc.createElement("channel")
rss.appendChild channel

For Each x In objXML.documentElement.selectNodes(".//SAVED_EXPORT")

1 Ответ

1 голос
/ 17 сентября 2011

Файлы загружаются из браузера с использованием тела, состоящего из нескольких частей MIME. Это формат тела сущности, который ASP не понимает, поэтому ни Request.QueryString, ни Request.Form не пригодятся вам.

Следовательно, чтобы использовать полученные данные, ваша страница должна будет напрямую взаимодействовать с двоичными данными в запросе. Поскольку вы не можете установить какие-либо компоненты на сервер, вам понадобится решение, которое будет работать при установке ванильного ASP-сервера.

По сути, необходимо извлечь полезную информацию из заголовков Mime (например, имя файла), а затем отправить часть тела mime в файл. Это очень много, чтобы изобрести себя, но есть ряд бесплатных частей ASP, которые могут сделать это для вас. Вот ссылки на пару: -

Оба они в основном заинтересованы в выгрузке файла в файловую систему, однако оттуда вы сможете загрузить XML и продолжить работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...