Foros del Web » Programando para Internet » ASP Clásico »

Formulario Upload

Estas en el tema de Formulario Upload en el foro de ASP Clásico en Foros del Web. hola mi nombre es andres y les pasteo un script que falla en la linea 362 con este error: Microsoft VBScript runtime error '800a004c' Path ...
  #1 (permalink)  
Antiguo 17/10/2008, 09:13
 
Fecha de Ingreso: octubre-2008
Mensajes: 1
Antigüedad: 16 años, 6 meses
Puntos: 0
Formulario Upload

hola mi nombre es andres y les pasteo un script que falla en la linea 362 con este error: Microsoft VBScript runtime error '800a004c'
Path not found
/qtx5cduv/AspUpload/saveany.asp, line 362
Me gustaria saber que puedo hacer.
por cierto el path de mi hosting es: E:\user1 pero he probado E:\user1\inetpub y e:\inetpub y nada, no funciona.
Este es el script recortado desde lo que falla:

Case 3

'get prev path if any
path = Request.QueryString("Path")
'if not assign one
if path = "" or isempty(path) then
path = "e:\inetpub" --> que pongo?
end if
'create filesystemobject
Set fso = CreateObject("Scripting.FileSystemObject")
'get a folder object
set f = fso.GetFolder(path)
path = f.path

'limit access to hard drive
if lcase(left(path,10)) <> "c:\inetpub" then--> o aqui?
path = "C:\Inetpub"
set f = fso.GetFolder(path)
path = f.path
end if

Response.Write "<H2>Buscar Carpeta(s).</H2>"
Response.Write "<FORM ACTION='saveany.asp?func=1' METHOD=POST>"
Response.Write "<table width=400 border=1 cellpadding=0 cellspacing=1>" & vbcrlf
Response.Write "<tr><th colspan=2>" & path & "</th></tr>"
Response.Write "<tr><td colspan=2 align=left><a href='saveany.asp?func=3&path=" & path & "\..'><strong>Directorio Anterior ..</strong></a></td></tr>" & vbcrlf

'get subfolders collection
set fc = f.subfolders

'enum subfolders
for each folder in fc
Response.Write "<tr><td align=left><INPUT NAME=BrowseServer TYPE=CheckBox Value='" & folder.path & "'></td><td style='padding-left: 20px;' align=left><a href='saveany.asp?func=3&path=" & folder.path & "'>" & folder.name & "</a></td></tr>" & vbcrlf
next

'if there is a folder display the select folder button
if fc.count > 0 then
Response.Write "<TR><TD align=left colspan=2><br><INPUT name=submit type='submit' value='Seleccione Directorio'></TD></TR>"
end if

Response.Write"<tr><td colspan=2><INPUT name=cancel type='Button' value='Cancelar' onclick=document.location='saveany.asp?func=1'></td></tr>"

Response.Write "</table>" & vbcrlf
Response.Write "</form>"
end select

%>
</BODY>
</HTML>


<SCRIPT LANGUAGE=vbscript RUNAT=Server>
Function ParseForm(strFieldName)

Set strFormData = CreateObject("Scripting.Dictionary")
lngCount = -1
'Try to find the Field
lngNamePos = instr(1,strDataWhole,"name=" & chr(34) & strFieldName & chr(34))

'Parse through data in search of fields
do while lngNamePos <> 0
lngCount = lngCount + 1
lngBeginFieldData = instr(lngNamePos,strDataWhole,vbcrlf & vbcrlf)+4
lngEndFieldData = instr(lngBeginFieldData,strDataWhole,vbcrlf)
strFormData.Add lngCount, mid(strDataWhole,lngBeginFieldData,lngEndFieldData-lngBeginFieldData)
lngNamePos = instr(lngEndFieldData,strDataWhole,"name=" & chr(34) & strFieldName & chr(34))

loop
set ParseForm = strFormData
end function
</SCRIPT>
Si has subido m&aacute;s de un archivo para luego listar los drivers por categor&iacute;as es importante que guardes los nombres de los archivos en la base de datos. Haz click aqu&iacute;--><a href="Ejemplo2.asp">Rellenar datos del resto de Archivos</a> y rellena todos los campos del formulario para que se guarden en la base de datos
</center></p>
</div>
<div class="story">
<h3></h3>

</div>


</div>
<div align="center" id="siteInfo"> <img src="../img/info.jpg" width="44" height="22" /> &copy;2007 MULS </div>
</div>
<!--end pagecell1-->
<br />
<script type="text/javascript">
<!--
var menuitem1 = new menu(9,1,"hidden");
var menuitem2 = new menu(9,2,"hidden");
var menuitem3 = new menu(9,3,"hidden");
var menuitem4 = new menu(9,4,"hidden");
var menuitem5 = new menu(9,5,"hidden");
var menuitem6 = new menu(9,6,"hidden");
var menuitem7 = new menu(9,7,"hidden");
var menuitem8 = new menu(9,8,"hidden");
var menuitem9 = new menu(9,9,"hidden");

// -->
</script>
</body>
</html>

gracias
  #2 (permalink)  
Antiguo 18/10/2008, 12:34
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Respuesta: Formulario Upload

en estas dos preguntas que has puesto, es donde limitaras las subidas de los archivos

Cita:
'get prev path if any
path = Request.QueryString("Path")
'if not assign one
if path = "" or isempty(path) then
path = "e:\inetpub" --> que pongo?
end if
'create filesystemobject
Set fso = CreateObject("Scripting.FileSystemObject")
'get a folder object
set f = fso.GetFolder(path)
path = f.path
en esta primera parte, es cuando no le has especificado en los parametros del codigo, en que directorio por default, hara la subida.....

aqui deberas cambiarlo a tu carpeta que hayas creado
un ejemplo
c:\inetpub\sitio\subidas


Cita:
'limit access to hard drive
if lcase(left(path,10)) <> "c:\inetpub" then--> o aqui?
path = "C:\Inetpub"
set f = fso.GetFolder(path)
path = f.path
end if
en esta otra parte del codigo, es donde limitas al codigo, limitar en el sentido de que si te suben un script, no pueda recorrer ningun otro lugar de tu sitio....

espero te ayude
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
  #3 (permalink)  
Antiguo 20/10/2008, 10:59
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 16 años, 7 meses
Puntos: 12
Respuesta: Formulario Upload

Una forma sencilla y con poco código es usar el activex aspupload, verifica que tu hosting lo tenga instalado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:44.