智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
随笔 - 991, 文章 - 0, 评论 - 27, 阅读 - 341万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

AS3批量上传的源文件

Posted on   Bill Yuan  阅读(1761)  评论(0编辑  收藏  举报
复制代码
代码
import flash.net.FileReferenceList;
import flash.net.FileReference;
// 初始化按扭的label..
select.label = "选图";
del.label 
= "删除";
updata.label 
= "上传";
// 定义侦听器
var listener:Object = new Object();
// 定义上传图片的容器
var total:Array = new Array();

// 检测函数,测试用!
function ceshi()
{
    trace(total.length);
    
for (var j = 0; j < total.length; j++)
    {
        trace(total[j].name);
    }
}
updata.enabled 
= false;
//..
var fileRefList:FileReferenceList = new FileReferenceList();
listener.onSelect 
= function(fileRefList:FileReferenceList)
{
    trace(
"onSelect");
    updata.enabled 
= true;
    my_list.removeAll();
    var list:Array 
= fileRefList.fileList;
    var item:FileReference;
    
for (var i:Number = 0; i < list.length; i++)
    {
        item 
= list[i];
        trace(
"name: " + item.name);
        total.push(item);
        trace(
".+++++++++++++++======================");
        
// 调用测试函数
        ceshi();
    }
    
for (var j = 0; j < total.length; j++)
    {
        my_list.addItem({label: total[j].name, data: j});
    }
};
listener.onCancel 
= function():Void
{
    trace(
"onCancel");
};
listener.onOpen 
= function(file:FileReference):Void
{
    trace(
"onOpen: " + file.name);
};
listener.onProgress 
= function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void
{
    trace(
"onProgress with bytesLoaded: " + bytesLoaded + " bytesTotal: " + bytesTotal);
};
listener.onComplete 
= function(file:FileReference):Void
{
    trace(
"onComplete: " + file.name);
};
var fileRef:FileReferenceList 
= new FileReferenceList();
fileRef.addListener(listener);
select.onPress 
= function()
{
    fileRef.browse();
};
updata.clickHandler 
= function()
{
    fileRefList.fileList 
= total;
    var fileRef:FileReference 
= new FileReference();
    
for (var i = 0; i < total.length; i++)
    {
        fileRef 
= total[i];
        fileRef.addListener(listener);
        fileRef.upload(
" your_url ");
    }
    trace(total.length);
    total 
= [];
};
var det_listener:Object 
= new Object();
det_listener.click 
= function(evt:Object)
{
    xx 
= my_list.selectedIndex;
    total.splice(xx, 
1);
    my_list.removeItemAt(my_list.selectedIndex);
    
// 调用测试函数
    ceshi();
};
del.addEventListener(
"click", det_listener);
复制代码
(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示