Flash实例:Flash+asp扫描文件夹展示图片-Flash教程
来源:闪吧BBS 作者:终极讨厌
更新时间:2008-03-04
点击:
刚才没事干,来试试这个功能的实现。
思路:
用ASP的FSO(这个思路是刚才一位朋友在回贴中提到的,所以我才想起要做这个东东,呵呵)对象来扫描同文件夹下的JPG图片,并输出文件名。这里用ASP输出XML格式让FLASH加载,虽然不太喜欢XML,但大家都觉得它规范一些,就输出它吧。演示效果下载后再看吧!
我的文件夹中只放了9个图片,但无论添加还是减少都直接上传或者删除就行了,不需要去改FLASH也不需要修改ASP。费话少说,代码+注释+源文件如下(IIS环境测试才有效):
FLASH中的代码:
import flash.filters.BlurFilter;
import flash.filters.DropShadowFilter;
////============初始化===========
var b_filters:BlurFilter = new BlurFilter(5, 5, 1);
var d_filters:DropShadowFilter = new DropShadowFilter(5, 45, 0, 80, 10, 10);
var n:Number = new Number();
var url_array = new Array();
//这里是设置SWF与ASP的相对路径,虽然可以在ASP中比较得出,但感觉没有必要
var path_str:String = \"images/\";
function go_func() {
if (n<url_array.length-1) {
n ;
load_func();
} else {
trace(\"加载完成!\");
}
}
//============MCL类===========
var _mcl:MovieClipLoader = new MovieClipLoader();
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函数========
function load_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文件加载=========
var url_xml = new XML();
url_xml.ignoreWhite = true;
url_xml.onLoad = function(suc) {
if (suc) {
for (var d: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\"%>
<%
Dim thisPath,FSO,fileItem,allFolder
thisPath = Server.MapPath(Request.ServerVariables(\"SCRIPT_NAME\")) ’得到ASP文件的路径
Set FSO = createobject(\"scripting.filesystemobject\")’创建FSO对像
Set allFolder = FSO.GetFile(thisPath).parentfolder.files ’得到ASP所在目录的父级对像,它就包括了这个ASP和我们放的图片
Response.write(\"<?xml version=\"\"1.0\"\" encoding=\"\"utf-8\"\"?>\")’开始输出XML
Response.ContentType = \"text/XML\"
Response.Write(\"<path>\")
For Each fileItem In allFolder ’想当于FLASH中的遍历,遍历整个对像中的元素
If lcase(right(fileItem.name,4))=\".jpg\" Then ’假如后缀是JPG
Response.Write(\"<url>\" fileItem.name \"</url>\")’就把它的文件名输出为XML的一个新节点
End If
Next
Response.Write(\"</path>\")
Response.End()
%> 附件: 点击这里下载 FLASH ASP显示图片 的源文件
思路:
用ASP的FSO(这个思路是刚才一位朋友在回贴中提到的,所以我才想起要做这个东东,呵呵)对象来扫描同文件夹下的JPG图片,并输出文件名。这里用ASP输出XML格式让FLASH加载,虽然不太喜欢XML,但大家都觉得它规范一些,就输出它吧。演示效果下载后再看吧!
我的文件夹中只放了9个图片,但无论添加还是减少都直接上传或者删除就行了,不需要去改FLASH也不需要修改ASP。费话少说,代码+注释+源文件如下(IIS环境测试才有效):
FLASH中的代码:
import flash.filters.BlurFilter;
import flash.filters.DropShadowFilter;
////============初始化===========
var b_filters:BlurFilter = new BlurFilter(5, 5, 1);
var d_filters:DropShadowFilter = new DropShadowFilter(5, 45, 0, 80, 10, 10);
var n:Number = new Number();
var url_array = new Array();
//这里是设置SWF与ASP的相对路径,虽然可以在ASP中比较得出,但感觉没有必要
var path_str:String = \"images/\";
function go_func() {
if (n<url_array.length-1) {
n ;
load_func();
} else {
trace(\"加载完成!\");
}
}
//============MCL类===========
var _mcl:MovieClipLoader = new MovieClipLoader();
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函数========
function load_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文件加载=========
var url_xml = new XML();
url_xml.ignoreWhite = true;
url_xml.onLoad = function(suc) {
if (suc) {
for (var d: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\"%>
<%
Dim thisPath,FSO,fileItem,allFolder
thisPath = Server.MapPath(Request.ServerVariables(\"SCRIPT_NAME\")) ’得到ASP文件的路径
Set FSO = createobject(\"scripting.filesystemobject\")’创建FSO对像
Set allFolder = FSO.GetFile(thisPath).parentfolder.files ’得到ASP所在目录的父级对像,它就包括了这个ASP和我们放的图片
Response.write(\"<?xml version=\"\"1.0\"\" encoding=\"\"utf-8\"\"?>\")’开始输出XML
Response.ContentType = \"text/XML\"
Response.Write(\"<path>\")
For Each fileItem In allFolder ’想当于FLASH中的遍历,遍历整个对像中的元素
If lcase(right(fileItem.name,4))=\".jpg\" Then ’假如后缀是JPG
Response.Write(\"<url>\" fileItem.name \"</url>\")’就把它的文件名输出为XML的一个新节点
End If
Next
Response.Write(\"</path>\")
Response.End()
%> 附件: 点击这里下载 FLASH ASP显示图片 的源文件
相关Flash教程:
最新评论:
评论加载中....
发表评论:不能超过250字节,请自觉遵守互联网相关政策法规.
- 昵称: 验证:







