当前位置:主页   - 电脑 - 图形图像 - Flash
Flash实例:Flash+asp扫描文件夹展示图片
来源:网络   作者:   更新时间:2012-05-07
收藏此页】    【字号    】    【打印】    【关闭

  本文示例源代码或素材下载

  思路:

  用ASP的FSO(这个思路是刚才一位朋友在回贴中提到的,所以我才想起要做这个东东,呵呵)对象来扫描同文件夹下的JPG图片,并输出文件名。这里用ASP输出XML格式让FLASH加载,虽然不太喜欢XML,但大家都觉得它规范一些,就输出它吧。演示效果下载后再看吧!

  我的文件夹中只放了9个图片,但无论添加还是减少都直接上传或者删除就行了,不需要去改FLASH也不需要修改ASP。费话少说,代码+注释+源文件如下(IIS环境测试才有效):

  FLASH中的代码:

importflash.filters.BlurFilter;
importflash.filters.DropShadowFilter;
////============初始化===========
varb_filters:BlurFilter=newBlurFilter(5,5,1);
vard_filters:DropShadowFilter=newDropShadowFilter(5,45,0,80,10,10);
varn:Number=newNumber();
varurl_array=newArray();
//这里是设置SWF与ASP的相对路径,虽然可以在ASP中比较得出,但感觉没有必要
varpath_str:String="images/";
functiongo_func(){
if(n<url_array.length-1){
 n++;
 load_func();
}else{
 trace("加载完成!");
}
}
//============MCL类===========
var_mcl:MovieClipLoader=newMovieClipLoader();
this.onLoadInit=function(_mc:MovieClip){
_mc._txt.removeTextField();
_mc._width=80;
_mc._height=80;
_mc.filters=[b_filters,d_filters];
//============这里设置鼠标动作===========
_mc.onRollOver=function(){
 this.filters=null;
};
_mc.onRollOut=function(){
 this.filters=[b_filters,d_filters];
};
go_func();
};
//如果没有下面的代码,就会一个加载出错,导致后面的都不能加载,用这个可以出错时继续向下加载,源文件中我故意少了一个图片,让它出错
this.onLoadError=function(_mc:MovieClip){
_mc.createTextField("_txt",200,20,10,60,30);
_mc._txt.textColor=0xff0000;
_mc._txt.text="加载失败!";
go_func();
};
//=========加载进度显示==============
this.onLoadProgress=function(_mc:MovieClip,bytesLoaded:Number,bytesTotal:Number){
_mc.createTextField("_txt",200,20,10,60,30);
_mc._txt.textColor=0xff0000;
_mc._txt.text=Math.floor((bytesLoaded/bytesTotal*10000)/100)+"%";
};
_mcl.addListener(this);
//=================load函数========
functionload_func(){
this.createEmptyMovieClip("pic_mc"+n,n+100);
//如果要改成竖向加载,只需把下面的_x_y换一下就行了
this["pic_mc"+n]._y=30+Math.floor(n/3)*100;
this["pic_mc"+n]._x=100+n%3*100;
_mcl.loadClip(path_str+url_array[n],this["pic_mc"+n]);
}
//===========XML文件加载=========
varurl_xml=newXML();
url_xml.ignoreWhite=true;
url_xml.onLoad=function(suc){
if(suc){
 for(vard:Number=0;d<this.firstChild.childNodes.length;d++){
 url_array.push(this.firstChild.childNodes[d].firstChild.nodeValue);
 }
 load_func();
}else{
 trace("XML文件加载失败!");
}
};
url_xml.load(path_str+"showjpg.asp");

  ASP:

<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%>
<%
DimthisPath,FSO,fileItem,allFolder
thisPath=Server.MapPath(Request.ServerVariables("SCRIPT_NAME"))’得到ASP文件的路径
SetFSO=createobject("scripting.filesystemobject")’创建FSO对像
SetallFolder=FSO.GetFile(thisPath).parentfolder.files’得到ASP所在目录的父级对像,它就包括了这个ASP和我们放的图片
Response.write("<?xmlversion=""1.0""encoding=""utf-8""?>")’开始输出XML
Response.ContentType="text/XML" 
Response.Write("<path>")
ForEachfileItemInallFolder’想当于FLASH中的遍历,遍历整个对像中的元素
 Iflcase(right(fileItem.name,4))=".jpg"Then’如果后缀是JPG
 Response.Write("<url>"+fileItem.name+"</url>")’就把它的文件名输出为XML的一个新节点
 EndIf 
Next 
Response.Write("</path>")
Response.End()
%>

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明