首先在服務器端先創建一個程序可以生成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();