Primeiro, crie um programa no lado do servidor para gerar um arquivo XML para retornar ao cliente (getFolder.asp)
<%
Escrito por Linzhang Chen, 2003-4-20
'Por favor, indique a fonte e mantenha essas informações de direitos autorais ao reimprimir
Response.Write <? Xml Version = 1.0 Encoding = GB2312?> & Chr (13)
Response.write <pederfile> & ch (13)
pastas = solicitação (pasta)
se pastas =/ então
pastas =
final se
contagem obscura
contagem = 0
pastas = substituir (pastas, ...,)
BaseFolder = ../Media/'Caminho da pasta de linha de base
newFolder = BaseFolder & Pastas
Set fso = server.createObject (script.filesystemoBject)
set f = fso.getFolder (server.mappath (newFolder))
Definir SF = F.SubFolders
Para cada FD em SF ', retorna a lista de pastas abaixo do caminho especificado
Response.Write <File> & Ch (13)
Response.write <ftype> pasta </ftype> & ch (13)
Response.Write <FName> & fd.name & </fname> & Chr (13)
Response.write </file> & ch (13)
contagem = contagem+1
próximo
Definir SF = nada
set ff = f.files
Para cada FI em FF
fname = fi.name
Se Instr (ASF, WMA, WMV, LCase (MID (FNAME, Instrrev (fname ,.)+1)))> 0 Em seguida, defina o tipo de arquivo permitido ser retornado para impedir o vazamento de código -fonte
Response.Write <File> & Ch (13)
Response.write <ftype> arquivo </ftype> & ch (13)
Response.write <FName> & fname & </fname> & Chr (13)
Response.write </file> & ch (13)
contagem = contagem+1
final se
próximo
'Se não houver arquivo neste diretório, envie um elemento vazio
Se contagem = 0 então
Response.Write <File> & Ch (13)
Response.write <ftype> vazio </ftype> & ch (13)
Response.Write <FName> 0 </fname> & ch (13)
Response.write </file> & ch (13)
final se
Response.write </ededfile>
Definir FF = nada
set f = nada
Defina FSO = nada
%>
A seguir, a habilidade JS do cliente (SelectFile.asp)
<!
<html>
<head>
<title> Selecione um arquivo de vídeo </title>
<estilo>
td {font-size: 9pt}
Selecione {Width: 210}
.s2 {largura: 250}
</style>
<Idioma do script = javascript>
<!-
/*WritEten por Linzhang Chen, 2003-4-20
Indique a fonte e retenha essas informações de direitos autorais*/
// Pré -carga fotos
var imgback = new Image ();
imgback.src = Images/Arrow.gif;
var imgbackGray = new Image ();
imgbackgray.src = imagens/Grayarrow.gif;
var imgFolder = new Image ();
imgfolder.src = imagens/pasta.gif;
var iMggrayFolder = new Image ();
imggrayfolder.src = imagens/grayfolder.gif;
// Stack de matriz de registros de história
var Arrhistory = new Array ();