2015-06-27 3 views
0

Я пытаюсь загрузить изображение в папку, используя классический asp. Я могу загрузить изображение в папку, но не получать значения других полей ввода.Загрузка изображения в папку в классическом ASP

<%@ Language="VBScript" %> 
<!--<span class="code-comment"> #include file="vbsUpload.asp" </span>--> 
<form method=post 
    enctype="multipart/form-data" 
    action=<%=request.servervariables("script_name")%>> 
Your File:<BR><input type="file" name="YourFile"><BR> 
<input type="text" name="myname" id="name12"> 
<BR> 
<input type="submit" name="submit" value="Upload"> 
</form> 
<% Dim objUpload, lngLoop, cia 
If Request.TotalBytes > 0 Then 
Set objUpload = New vbsUpload 

For lngLoop = 0 to objUpload.Files.Count - 1 
'If accessing this page annonymously, 
'the internet guest account must have 
'write permission to the path below. 
objUpload.Files.Item(lngLoop).Save "c:\inetpub\wwwroot\puntoseguro\admin\image\" 

Response.Write "File Uploaded" 

Next 
cia = Upload.Form("myname") 

End if 
%> 

Когда я отправить форму, я получаю следующее сообщение об ошибке, файла Загружено Microsoft VBScript ошибка времени выполнения «800a01a8»

Object required: '' 

/admin/test.asp, line 26 

line 26 - cia = Upload.Form("myname") 
+2

Вы не сможете читать поля формы и загружать изображения. Обходной задачей является использование компонента загрузки или сценария, такого как этот. http://www.motobit.com/help/scptutl/pure-asp-upload.htm Другим вариантом разместить ваши добавления в фреймы, и использовать некоторые javscript, чтобы начать загрузку при изменении поля файла. Или используйте загрузки ajax, которые были бы более элегантным способом обработки всего этого. – Frank

+1

@Frank, objUpload, похоже, относится к одному из сценариев загрузки ASP, поэтому похоже, что что-то уже существует для размещения загрузок. – johna

ответ

0

Я вижу две проблемы с кодом.

1) Вы объявляете текстовое поле, как это:

<input type="text" name="myname" id="name12"> 

Но вы пытаетесь получить это значение, используя идентификатор (name12), но вы должны получить его, используя его «имя» (Мое имя).

2) Кроме того, вы должны использовать objUpload.Form вместо Upload.Form, так как Upload не существует, следовательно, ошибка.

Вы можете исправить обе проблемы, заменив эту линию ...

cia = Upload.Form("name12") 

... с ...

cia = objUpload.Form("myname") 

(или изменить имя в соответствии с ID)

+0

все еще не работает, показывая ошибку Ошибка Microsoft VBScript runtime '800a01b6' Объект не поддерживает это свойство или метод – user3445439

+0

Какая строка содержит ошибку? Почему « #include file =" vbsUpload.asp " ->' commented out - есть ли другой код, который не показан в вашем коде (вы его растоптали) ? – johna

Смежные вопросы