请选择 进入手机版 | 继续访问电脑版
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 地图任务 - 给官方提建议

论坛活动及任务 归纳网站最新活动 更新邮件保护帐号安全 第一季积分兑换活动 - 12周年上海聚会照片

万元奖励等你拿——点点网模板设计大赛 畅销译文征名——让最火的畅销书,印上你的标签 联系招聘客服 蓝色理想帮你找工作!

查看: 20419|回复: 37

[服务器端交互] FLASH+ASP扫描文件夹展示图片,自由添加 [复制链接]

flash023 楼主

flash023

版主

帖子
13099
体力
26131
威望
10
居住地
重庆市 永川市
发表于 2007-9-12 19:43:16 |显示全部楼层
刚才没事干,来试试这个功能的实现。
思路:
用ASP的FSO(这个思路是闪吧一位朋友在回贴中提到的,所以我才想起要做这个东东,呵呵)对象来扫描同文件夹下的JPG图片,并输出文件名
这里用ASP输出XML格式让FLASH加载,虽然不不太喜欢XML,但大家都觉得它规范一些,就输出它吧。

先看演示地址:
http://www.flash023.cn/test/jpg/jpg.swf
我的文件夹中只放了9个图片,但无论添加还是减少都直接上传或者删除就行了,不需要去改FLASH也不需要修改ASP

费话少说,代码+注释+源文件如下(IIS环境测试才有效):

FLASH中的代码:
  1. import flash.filters.BlurFilter;
  2. import flash.filters.DropShadowFilter;
  3. ////============初始化===========
  4. var b_filters:BlurFilter = new BlurFilter(5, 5, 1);
  5. var d_filters:DropShadowFilter = new DropShadowFilter(5, 45, 0, 80, 10, 10);
  6. var n:Number = new Number();
  7. var url_array = new Array();
  8. //这里是设置SWF与ASP的相对路径,虽然可以在ASP中比较得出,但感觉没有必要
  9. var path_str:String = "images/";
  10. function go_func() {
  11.         if (n<url_array.length-1) {
  12.                 n++;
  13.                 load_func();
  14.         } else {
  15.                 trace("加载完成!");
  16.         }
  17. }
  18. //============MCL类===========
  19. var _mcl:MovieClipLoader = new MovieClipLoader();
  20. this.onLoadInit = function(_mc:MovieClip) {
  21.         _mc._txt.removeTextField();
  22.         _mc._width = 80;
  23.         _mc._height = 80;
  24.         _mc.filters = [b_filters, d_filters];
  25.         //============这里设置鼠标动作===========
  26.         _mc.onRollOver = function() {
  27.                 this.filters = null;
  28.         };
  29.         _mc.onRollOut = function() {
  30.                 this.filters = [b_filters, d_filters];
  31.         };
  32.         go_func();
  33. };
  34. //如果没有下面的代码,就会一个加载出错,导致后面的都不能加载,用这个可以出错时继续向下加载,源文件中我故意少了一个图片,让它出错
  35. this.onLoadError = function(_mc:MovieClip) {
  36.         _mc.createTextField("_txt", 200, 20, 10, 60, 30);
  37.         _mc._txt.textColor = 0xff0000;
  38.         _mc._txt.text = "加载失败!";
  39.         go_func();
  40. };
  41. //=========加载进度显示==============
  42. this.onLoadProgress = function(_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
  43.         _mc.createTextField("_txt", 200, 20, 10, 60, 30);
  44.         _mc._txt.textColor = 0xff0000;
  45.         _mc._txt.text = Math.floor((bytesLoaded/bytesTotal*10000)/100)+"%";
  46. };
  47. _mcl.addListener(this);
  48. //=================load函数========
  49. function load_func() {
  50.         this.createEmptyMovieClip("pic_mc"+n, n+100);
  51.         //如果要改成竖向加载,只需把下面的_x _y换一下就行了
  52.         this["pic_mc"+n]._y = 30+Math.floor(n/3)*100;
  53.         this["pic_mc"+n]._x = 100+n%3*100;
  54.         _mcl.loadClip(path_str+url_array[n], this["pic_mc"+n]);
  55. }
  56. //===========XML文件加载=========
  57. var url_xml = new XML();
  58. url_xml.ignoreWhite = true;
  59. url_xml.onLoad = function(suc) {
  60.         if (suc) {
  61.                 for (var d:Number = 0; d<this.firstChild.childNodes.length; d++) {
  62.                         url_array.push(this.firstChild.childNodes[d].firstChild.nodeValue);
  63.                 }
  64.                 load_func();
  65.         } else {
  66.                 trace("XML文件加载失败!");
  67.         }
  68. };
  69. url_xml.load(path_str+"showjpg.asp");
复制代码

ASP:
  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
  2. <%
  3. Dim thisPath,FSO,fileItem,allFolder
  4. thisPath = Server.MapPath(Request.ServerVariables("SCRIPT_NAME")) '得到ASP文件的路径
  5. Set FSO = createobject("scripting.filesystemobject")'创建FSO对像
  6. Set allFolder = FSO.GetFile(thisPath).parentfolder.files '得到ASP所在目录的父级对像,它就包括了这个ASP和我们放的图片
  7. Response.write("<?xml version=""1.0"" encoding=""utf-8""?>")'开始输出XML
  8. Response.ContentType = "text/XML"
  9. Response.Write("<path>")
  10. For Each fileItem In allFolder '想当于FLASH中的遍历,遍历整个对像中的元素
  11.   If lcase(right(fileItem.name,4))=".jpg" Then '如果后缀是JPG
  12.   Response.Write("<url>"+fileItem.name+"</url>")'就把它的文件名输出为XML的一个新节点
  13.   End If
  14. Next
  15. Response.Write("</path>")
  16. Response.End()
  17. %>
复制代码

[ 本帖最后由 HBrO 于 2007-9-12 21:05 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 1 人评分威望 收起 理由
jimohuoshan + 2 很实用

总评分: 威望 + 2   查看全部评分

我的博客 http://space.flash8.net/space/?591172 AS2&AS3   ASP&PHP ACCESS&mySQL XML&JS

呜呜龙

中级会员

帖子
239
体力
487
威望
0
发表于 2007-9-12 20:33:32 |显示全部楼层
很不错,省事!
帖子
5
体力
15
威望
0
发表于 2007-10-23 20:24:34 |显示全部楼层
下个来试试!呵!
浪闪 
帖子
82
体力
132
威望
0
居住地
广东省 广州市
发表于 2007-10-24 02:11:49 |显示全部楼层
测试地址坏了
zero09 
帖子
583
体力
1255
威望
0
发表于 2007-10-24 10:35:59 |显示全部楼层
收藏学习!

趴在墙头等红杏

中级会员

帖子
118
体力
205
威望
0
发表于 2007-10-24 14:09:54 |显示全部楼层
不错的说
谢谢lz拉
下载好好研究下
云梦
apaper 

一张纸条

银牌会员

帖子
380
体力
1310
威望
2
居住地
山东省 青岛市
发表于 2007-11-23 09:56:13 |显示全部楼层
测试地址打不开了!
黑羽推荐:www.52ria.com[专注RIA开源网站]
帖子
21
体力
53
威望
0
居住地
安徽省 芜湖市
发表于 2007-11-23 11:25:50 |显示全部楼层
喜欢 不错的东西
帖子
21
体力
53
威望
0
居住地
安徽省 芜湖市
发表于 2007-11-23 11:27:17 |显示全部楼层
不行  啊
都打不开啊
怎么弄的
hydfzp 
帖子
19
体力
40
威望
0
居住地
山东省 潍坊市
发表于 2007-11-24 14:03:31 |显示全部楼层

看了。也测试了。不错。

我试着更改了一些参数;问下楼主,如何通过文件名来获取啊,还有点击一福图片后;能现在大的图片就好了。我正在给一个公司做产品展示部分,如果能用到你的技术就好了。希望赐教!

淘金者

荣誉管理 手机认证 

帖子
2247
体力
3044
威望
27
居住地
四川省 成都市
发表于 2007-11-24 23:29:19 |显示全部楼层
023你太强了```
帖子
272
体力
963
威望
8
居住地
江苏省 无锡市
发表于 2007-11-25 10:07:31 |显示全部楼层
很不错,可以做出远程图片管理器哦
快乐每一天!
帖子
1
体力
7
威望
0
发表于 2007-11-26 09:18:33 |显示全部楼层
太好了。喜欢收藏啦
oklrc 
帖子
12
体力
25
威望
0
发表于 2007-11-28 17:11:16 |显示全部楼层
我改成PHP的看下效果,没有ASP的空间测试 .呵呵
PHP程序
deiphi 
帖子
7
体力
19
威望
0
发表于 2007-12-11 08:52:07 |显示全部楼层
收藏
帖子
9
体力
17
威望
0
发表于 2008-3-21 09:43:00 |显示全部楼层
好东西!
帖子
44
体力
98
威望
0
居住地
河北省 唐山市
发表于 2008-3-28 10:26:34 |显示全部楼层
还好呢,都打不开网页
帖子
30
体力
161
威望
0
发表于 2008-3-28 11:08:24 |显示全部楼层
原帖由 clys001 于 2008-3-28 10:26 发表
还好呢,都打不开网页


看帖子也要留意下发帖时间吧~
Rock
帖子
153
体力
369
威望
2
发表于 2008-3-28 11:35:49 |显示全部楼层
先顶一下再看
oklrc 
帖子
12
体力
25
威望
0
发表于 2008-4-1 19:06:45 |显示全部楼层

PHP版的.

flash.rar

PHP版的已经改好.只是更改了images目录下的showjpg.php
PHP程序
帖子
8
体力
5
威望
0
居住地
山东省 泰安市
发表于 2008-4-1 19:50:06 |显示全部楼层
这几天偶然看到这个 http://fpv.cn/fpv4/
应该也是用的楼主这个方法吧
0755ji.com
帖子
677
体力
263
威望
0
发表于 2008-4-2 09:14:37 |显示全部楼层
哈哈 不错 刚好全部看得懂
sxshx 
帖子
2
体力
14
威望
0
发表于 2008-4-2 09:42:03 |显示全部楼层
不知能不能显示某个文件夹下的SWF文件,并能点击播放。
帖子
677
体力
263
威望
0
发表于 2008-4-2 09:44:03 |显示全部楼层

回复 #23 sxshx 的帖子

道理一样
sxshx 
帖子
2
体力
14
威望
0
发表于 2008-4-2 12:30:33 |显示全部楼层
我照着做了,也在IIS中调试,可就老是“加载失败!”
帖子
141
体力
1374
威望
0
发表于 2008-4-2 15:21:52 |显示全部楼层

谢谢楼主

收藏了!
帖子
11
体力
21
威望
0
居住地
安徽省 合肥市
发表于 2008-4-8 16:05:48 |显示全部楼层
谢谢啊,呵呵,不错的
我是最棒的
HBrO 
帖子
7398
体力
32117
威望
241
居住地
广东省 广州市
发表于 2008-4-9 20:27:18 |显示全部楼层
虽然很久前就看了,但是我还是觉得相当不错
ycanzl 
帖子
11
体力
36
威望
0
居住地
湖南省 长沙市
发表于 2008-4-28 13:47:03 |显示全部楼层
看不到效果!
帖子
1
体力
12
威望
0
居住地
四川省 宜宾市
发表于 2009-8-9 13:40:16 |显示全部楼层
不错,很好很强大,下来看看
您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-1-11 16:58 , Processed in 0.906351 second(s), 9 queries , Gzip On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部