![]() |
ASP: Загрузка файлов на сервер
Есть файл:
inetpub/wwwroot/start.htm Код:
<html> inetpub/wwwroot/matrix.asp Код:
<% @Language = "VBScript" %> Код:
Технические сведения (для сотрудников службы поддержки) Задача : загрузить файл на сервер и прочитать его содержимое. |
Попробуйте добавить в тег формы атрибут
Код:
enctype="multipart/form-data" |
Добавление enctype="multipart/form-data" не помогает.
Код:
Тип ошибки: Может быть проблема в этой строке: n1=server.mappath(".")&"\"&n Мне не совсем понятно, как она работает. |
server.mappath - возвращает абсолютный путь для относительного заданного в качестве аргумента (яндекс помог). Стало быть в nl теперь путь к открываемому файлу, но заданный абсолютно. Имя частично берется из формы (n=request.querystring("fname")). Для меня остается загадкой только кто файл положил туда где он ожидается, а ожидается он рядом со скриптом matrix.asp как видно из генерации имени. Кстати... попробуйте отправлять через форму файлы с англ. именами.
|
Цитата:
|
Если сервер и клиент - одна машина, то легко :).
|
Нет, сервер и клиент не одна машина.
Тестировать можно когда скрипт и клиент на одной машине, но скрипт должен работать, когда сервер на другой машине. Записывать скриптом на сервер нельзя. |
mrcnn
Цитата:
Цитата:
короче, обрадую тебя - ASP не может делать upload в чистом виде, а потому, все что ты придумал - галиматья :) ASP сам по себе мало что умеет, ему нужны соотв. компоненты, коих предостаточно... нпр. посмотри тут (неплохой инструмент для загрузки)... или при желании пиши код анализа POST-данных в случае multipart/form-data :) |
Цитата:
Конкретных рекомендаций - ноль. На этом форуме помочь явано не в состоянии. |
mrcnn не, где у тебя файл читается - там вроде ок все... но файл то еще поискать надо, тем более, что его вообще нет. :) Т.е. в твоем случае надо вывести n (который request.form("fname")), и пусть твой препод читает... или записать этот n в файл, потом этот файл прочитать... при том, что n предварительно надо обработать, дабы вытащить непосредственно тело файла...
в первоначальном виде (без enctype="multipart/form-data") форма шлет только текст пути... т.е. чтобы у тебя заработало (!!! (с) кот Матроскин) надо ввести имя файла (без пути) и этот файл положить рядышком со скриптом... :) будет эдакая эмуляция upload... :) P.S. а твой препод - лопух :) |
Цитата:
Меня интересует, как самыми простыми средствами получить файл, лежащий у клиента и путь к которому он указал, найдя файл с помощью browse. Мы использовали enctype="multipart/form-data" . Получается, что файл мы получили или нет? Где хранится вся инфа, которую мы получили? Хотя бы ссылку на статью или на какую-нибудь книгу, где этот вопрос рассматривается.. |
mrcnn еще раз... в ASP не предусмотрена функция file upload, т.е. нет средств преобразования multipart/form-data непосредственно в файл. Для этого ты можешь сам написать код, который парсит данные POST и делает из них что надо... но я тебе уже дал ссылку (как вариант), где все это написано, и причем неплохо... Идешь туда, качаешь скриптики, ставишь у себя и... все! Конечно, надо изучить работу, объекты и тп (несложно)...
Цитата:
|
Препод не лопух. Вспоминаю свои старые сообщения.
|
Цитата:
|
Время: 11:24. |
Время: 11:24.
© OSzone.net 2001-