Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » ASP: Загрузка файлов на сервер

Ответить
Настройки темы
ASP: Загрузка файлов на сервер

Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Есть файл:
inetpub/wwwroot/start.htm
Код: Выделить весь код
<html>
<body>
<form action="http://127.0.0.1/matrix.asp" method="POST" name="f">
<input type="file" name="fname">
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
Есть файл

inetpub/wwwroot/matrix.asp
Код: Выделить весь код
<% @Language = "VBScript" %>

<html>

<%
dim wrk,n,i,n1
n=request.querystring("fname")
dim fso,ts,s,ss,x
const fr=1
n1=server.mappath(".")&"\"&n
set fso=createobject("scripting.filesystemobject")
set ts=fso.opentextfile(n1,fr)
s=ts.readall
ts.close
a=split(s)
call(response.write("Исходные данные"))
s=0
for i=lbound(a,1) to ubound(a,1)
call response.write (a(i)&"<br>")
x=clng(a(i))
s=s+x
next
call response.write("<br>"&s)
%>

</html>
На 12 строке выдается ошибка.
Код: Выделить весь код
Технические сведения (для сотрудников службы поддержки)

Тип ошибки:
Ошибка выполнения Microsoft VBScript (0x800A004C)
Путь не найден
/matrix.asp, line 12

Страница:
POST 32 bytes to /matrix.asp

POST Data:
fname=C%3A%5C1.txt&submit=submit 

Время:
21 декабря 2006 г., 20:05:50
Почему? Как сделать правильно?

Задача : загрузить файл на сервер и прочитать его содержимое.

Отправлено: 15:03, 21-12-2006

 

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Попробуйте добавить в тег формы атрибут
Код: Выделить весь код
enctype="multipart/form-data"
.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 15:44, 21-12-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Добавление enctype="multipart/form-data" не помогает.

Код: Выделить весь код
Тип ошибки:
Ошибка выполнения Microsoft VBScript (0x800A004C)
Путь не найден
/matrix.asp, line 12


Тип обозревателя:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 1.0.3705; .NET CLR 2.0.50727) 

Страница:
POST 295 bytes to /matrix.asp

POST Data:
. . . 
POST Data пустая

Может быть проблема в этой строке:
n1=server.mappath(".")&"\"&n
Мне не совсем понятно, как она работает.

-------
Ehhh.. what's up, doc?..


Отправлено: 16:07, 21-12-2006 | #3


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


server.mappath - возвращает абсолютный путь для относительного заданного в качестве аргумента (яндекс помог). Стало быть в nl теперь путь к открываемому файлу, но заданный абсолютно. Имя частично берется из формы (n=request.querystring("fname")). Для меня остается загадкой только кто файл положил туда где он ожидается, а ожидается он рядом со скриптом matrix.asp как видно из генерации имени. Кстати... попробуйте отправлять через форму файлы с англ. именами.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 17:15, 21-12-2006 | #4


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата:
Для меня остается загадкой только кто файл положил туда где он ожидается, а ожидается он рядом со скриптом matrix.asp как видно из генерации имени.
В форме пользователь задает имя файла, лежащего у него на компьютере, например, "C:/1.txt". Как ASP скрипт может открыть этот файл на компе пользователя?

-------
Ehhh.. what's up, doc?..


Отправлено: 17:48, 21-12-2006 | #5


Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Если сервер и клиент - одна машина, то легко .

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 18:54, 21-12-2006 | #6


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Нет, сервер и клиент не одна машина.
Тестировать можно когда скрипт и клиент на одной машине, но скрипт должен работать, когда сервер на другой машине. Записывать скриптом на сервер нельзя.

-------
Ehhh.. what's up, doc?..


Отправлено: 19:41, 21-12-2006 | #7


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


mrcnn
Цитата:
n=request.querystring("fname")
тогда уж request.form("fname") коли POST шлешь...
Цитата:
n1=server.mappath(".")&"\"&n
я не понял, что ты этим хочешь получить... n - у тебя же данные поля (POST-data). гоголь-моголь какой-то...

короче, обрадую тебя - ASP не может делать upload в чистом виде, а потому, все что ты придумал - галиматья ASP сам по себе мало что умеет, ему нужны соотв. компоненты, коих предостаточно... нпр. посмотри тут (неплохой инструмент для загрузки)... или при желании пиши код анализа POST-данных в случае multipart/form-data

Отправлено: 00:06, 22-12-2006 | #8


Ветеран


Сообщения: 1404
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата:
потому, все что ты придумал - галиматья
Спешу тебя обрадовать, что в этом скрипте я сам ничего не придумывал - его придумал препод.

Конкретных рекомендаций - ноль. На этом форуме помочь явано не в состоянии.

-------
Ehhh.. what's up, doc?..


Отправлено: 05:57, 22-12-2006 | #9


Deadooshka


Сообщения: 2482
Благодарности: 671

Профиль | Отправить PM | Цитировать


mrcnn не, где у тебя файл читается - там вроде ок все... но файл то еще поискать надо, тем более, что его вообще нет. Т.е. в твоем случае надо вывести n (который request.form("fname")), и пусть твой препод читает... или записать этот n в файл, потом этот файл прочитать... при том, что n предварительно надо обработать, дабы вытащить непосредственно тело файла...

в первоначальном виде (без enctype="multipart/form-data") форма шлет только текст пути... т.е. чтобы у тебя заработало (!!! (с) кот Матроскин) надо ввести имя файла (без пути) и этот файл положить рядышком со скриптом... будет эдакая эмуляция upload...

P.S. а твой препод - лопух
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:52, 22-12-2006 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » ASP: Загрузка файлов на сервер

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
вопрос, pxe-загрузка <сервер(Win2003), и 10 с win98. Загрузка с сервера?> _aids Сетевые технологии 1 21-07-2007 10:27
Загрузка файлов MickeyMouse Microsoft Windows NT/2000/2003 6 03-04-2007 14:20
Загрузка файлов в Опере Denim_ok Хочу все знать 1 29-08-2006 11:34
Загрузка файлов. wolland Программное обеспечение Linux и FreeBSD 7 30-04-2005 21:27
ASP сервер для Линух Zeleneew Программное обеспечение Linux и FreeBSD 6 17-03-2004 15:13




 
Переход