Bueno, parece que lo he conseguido solucionar.
No funciona con una unidad de red Z:\ pero sí con dirección \\maquina\Recurso_compartido
Pongo el código, aunque está hecho un poco rápido y grotesco.
En algún lado que venga bien, hay que inicializar variables. Quizás en un global.asa:
Código ASP:
Ver originalDim ficheros(100)
session("ficheros")=ficheros
session("numficheros")=0
session("FSOPath")="\\10.160.2.5\Server"
session("indice")=0
session("FSOarchivo")=""
Después yo tengo un botón examinar para abrir el explorador de archivos que he hecho:
Código ASP:
Ver originalif session("numficheros")>0 then
ficheros=session("ficheros")
End if
%>
<form action="subirfichero2.asp" method="post" name="subirfichero" id="subirfichero">
<input name="button2" type="button" class="botonpeque" id="button2" onclick="MM_openBrWindow('explorador.asp','opener','scrollbars=yes,width=500,height=400')" value="Examinar" />
</form>
<table width="300" border="0" cellspacing="0" cellpadding="0">
<%
For i=1 to session("numficheros")
%>
<tr>
<td class="tablacalendario">
<%
if len(ficheros(i))>25 then
Response.Write("..."&right(ficheros(i),25))
Else
Response.Write(ficheros(i))
End if
%></td>
<td width="75" class="tablacalendario"><input name="button" type="submit" class="formulariomuycorto" id="button" value="Eliminar" onclick="javascript: document.location.href('elimina.asp?id=<%=i%>');" /></td>
</tr>
<%
Next
%>
</table>
Al darle a examinar, se abre un popup con el explorador:
Código ASP:
Ver originalIf not session("logged") then
response.Redirect("index.asp")
End if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso 8859-1" />
<title>Explorador de Archivos</title>
<link href="agenda.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body,td,th {
color: #000;
}
body {
background-color: #FFF;
margin-left: 5px;
margin-top: 5px;
margin-right: 5px;
margin-bottom: 5px;
}
</style>
</head>
<body>
<%
Dim FSO, raiz, carpeta, archivos
if session("indice")>0 and request.Form("seleccionado")<>"" then
seleccionado=request.Form("seleccionado")
session("FSOarchivo")=request.Form(seleccionado)
End if
set FSO = server.createObject("Scripting.FileSystemObject")
if Request.QueryString("nroot")<>"" then
session("FSOPath")=Request.QueryString("nroot")
End if
Set raiz = FSO.GetFolder(session("FSOPath"))
%>
<form name="archivos" action="#" method="post">
<table width="480" border="0" cellspacing="0" cellpadding="2">
<tr class="tabladatos">
<td width="19"><a href="explorador.asp?nroot=<%
if (not raiz.isRootFolder) then
Response.Write(raiz.parentfolder.path)
End if
%>"><img src="images/subirnivel.gif" width="18" height="15" border="0" /></a></td>
<td colspan="3"><%=session("FSOPath")%></td>
</tr>
<%
FSO_Buscar_Carpetas(session("FSOPath"))
FSO_Buscar_Archivos(session("FSOPath"))
%>
</table>
<%
Sub FSO_Buscar_Carpetas(nombre_carpeta)
'extraigo la coleccion de carpetas
set coleccionCarpetas = raiz.subFolders
for each carpeta in coleccionCarpetas
%>
<tr class="tabladatos">
<td width="19"><img src="images/carpeta.gif" width="18" height="19" /></td>
<td width="10"> </td>
<td><a href="explorador.asp?nroot=<%=carpeta.path%>"><%=carpeta.name%></a></td>
<td width="75"> </td>
</tr>
<%
next
End Sub
%>
<%
Sub FSO_Buscar_Archivos(nombre_carpeta)
session("indice")=0
'extraigo la coleccion de carpetas
Set carpeta = FSO.GetFolder(nombre_carpeta)
'traigo los archivos de la carpeta
Set archivos = carpeta.Files
for each nombre_archivo in archivos
tamano=nombre_archivo.size/1024
session("indice")=session("indice")+1
%>
<tr class="tabladatos">
<td width="19"><img src="images/archivo.gif" width="18" height="19" /></td>
<td width="10">
<input name="seleccionado" type="radio" value="<%=session("indice")%>" onclick="javasctript: document.forms.archivos.submit(); devuelve_valor(); window.close();" class="botongrupo" />
</td>
<td>
<input name="<%=session("indice")%>" class="formularioculto" value="<%=nombre_archivo.name%>" readonly="readonly" /></td>
<td width="75" align="right"><%=FormatNumber(tamano,0)%> Kb</td>
</tr>
<%
next
End Sub
%>
</form>
</body>
</html>
<script language="javascript">
function devuelve_valor()
{
window.opener.location.href('subirfichero2.asp')
}
</script>
Al seleccionar un archivo, se redirige a la página que recogerá el path completo:
Código ASP:
Ver original<%
If not session("logged") then
response.Redirect("index.asp")
End if
ficheros=session("ficheros")
session("numficheros")=session("numficheros")+1
session("indice")=0
temp=session("FSOPath")&"\"&session("FSOarchivo")
duplicado=false
for i=1 to session("numficheros")-1
if temp=ficheros(i) then
dublicado=true
End if
Next
if duplicado=false then
ficheros(session("numficheros")) = temp
End if
session("ficheros")=ficheros
response.Redirect("subirfichero.asp")
%>
Creo que me he complicado bastante, pero funciona.