首先在服务器端先创建一个程序可以生成XML文件,以返回客户端,(getfolder.asp)
<%
'written by Linzhang Chen ,2003-4-20
' 转载请注明出处和保留此版权信息
response.write <?xml version=1.0 encoding=GB2312?>&chr(13)
response.write <mediafile>&chr(13)
folders=request(folder)
if folders=/ then
folders=
end if
dim count
count=0
folders=replace(folders,..,)
basefolder=../media/'基准的文件夹路径
newfolder=basefolder&folders
Set fso =server.CreateObject(Scripting.FileSystemObject)
set f=fso.getfolder(server.mappath(newfolder))
set sf=f.subfolders
for each fd in sf'返回指定路径下面的文件夹列表
response.write <file>&chr(13)
response.write <ftype>folder</ftype>&chr(13)
response.write <fname>&fd.name&</fname>&chr(13)
response.write </file>&chr(13)
count=count+1
next
set sf=nothing
set ff=f.Files
for each fi in ff
fname=fi.name
if instr(asf,wma,wmv,lcase(mid(fname,instrrev(fname,.)+1)))>0 then'设定允许返回的文件类型,防止源码泄露
response.write <file>&chr(13)
response.write <ftype>file</ftype>&chr(13)
response.write <fname>&fname&</fname>&chr(13)
response.write </file>&chr(13)
count=count+1
end if
next
'如果该目录下没有文件,就发一个空元素
if count=0 then
response.write <file>&chr(13)
response.write <ftype>empty</ftype>&chr(13)
response.write <fname>0</fname>&chr(13)
response.write </file>&chr(13)
end if
response.write </mediafile>
set ff=nothing
set f=nothing
set fso=nothing
%>
下面就是客户端的JS的功夫了(selectfile.asp)
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN>
<HTML>
<HEAD>
<TITLE> 选择视频文件 </TITLE>
<style>
td{font-size:9pt}
select{width:210}
.s2{width:250}
</style>
<SCRIPT LANGUAGE=javascript>
<!--
/*written by Linzhang Chen ,2003-4-20
转载请注明出处和保留此版权信息 */
//预装载图片
var imgback = new Image();
imgback.src = images/arrow.gif;
var imgbackgray = new Image();
imgbackgray.src = images/grayarrow.gif;
var imgfolder = new Image();
imgfolder.src = images/folder.gif;
var imggrayfolder = new Image();
imggrayfolder.src = images/grayfolder.gif;
//历史记录数组栈
var arrhistory=new Array();