显示文件上载的进度条

时间:2010-02-16 05:30:08

标签: flex file-upload progress-bar

我需要创建一个应用程序,我可以在其中添加要上传的文件。当我添加要上传的项目时,应显示进度条以及添加的每个项目。当我点击文件上传时,每个文件的文件上传进度应该反映在进度条中。进度应该使用像

这样的功能
.....
addEventListener(ProgressEvent.Progress, uploadProgressHandler);

private function uploadProgressHandler(event:ProgressEvent):void
{
    var numPerc:Number = Math.round((Number(event.bytesLoaded) / Number(event.bytesTotal)) * 100);

    //this.progBar.validateNow();

    .....
}  

任何人都可以提供帮助吗?

3 个答案:

答案 0 :(得分:1)

请参阅以下示例:

Multiple File Upload with Flex and PHP
看起来像这样:

image1

Multiple File Upload With Progress Bar Using Flash and ASP.NET
看起来像这样:

image2

答案 1 :(得分:0)

Flex有一个ProgressBar课程,你有没有检查过它?

答案 2 :(得分:0)

以下是Flex文件上传器的两个很好的例子(使用HTTP):

alt text http://blog.vixiom.com/uploads/merb_air_upload.png

为了使上述两个示例协同工作以实现所需的结果(多个文件上传器,每个预加载器一个ProgressBar,在Flex中),您需要做的就是:

  1. 下载Flex File Uploader PHP Project
  2. 下载Merb AIR Uploader并将“UploadProgressComponent.mxml”复制/粘贴到PHP项目中(暂时复制到src/UploadProgressComponent.mxml)。
  3. DataGrid 替换为Flex文件上传器PHP项目中FileUpload.mxml中的 List和Custom ItemRenderer
  4. 替换它:

    <mx:DataGrid id="listFiles" left="0" top="0" bottom="0" right="0"  
     allowMultipleSelection="true" verticalScrollPolicy="on"
     draggableColumns="false" resizableColumns="false" sortableColumns="false">
        <mx:columns>
            <mx:DataGridColumn headerText="File" dataField="name" wordWrap="true"/>
            <mx:DataGridColumn headerText="Size" dataField="size" width="75" textAlign="right"/>
        </mx:columns>
    </mx:DataGrid>  
    

    用这个:

    <mx:List id="listFiles" left="0" top="0" bottom="0" right="0"
     allowMultipleSelection="true" verticalScrollPolicy="on"
     itemRenderer="UploadProgressComponent"/>  
    

    结果:Flex中的多个文件上传器,其自定义ItemRenderer具有每个FileReference的ProgressBar。上传到PHP脚本,您可以换掉任何内容。

    应该很容易从那里定制。如果有效,请告诉我 兰斯