• Free POP3 mails

    POP3 EMail Service, Free POP3 mails check email anywhere
    http://www.mail4web.net

    http://www.blaksmail.com
    workathome and role of seo
  • My Group Of Websites

  • Pages

  • Category

  • « If Hairloss is the major problem you have | Home | Use an Item Renderer to create a Component that will load up a given URL. The easiest way is to use the LinkButton Control »

    Flash Multi File Upload

    By admin | June 30, 2008

    import com.adobe.serialization.json.JSON

    // button name browsebtn,uploadbtn

    browsebtn.addEventListener(MouseEvent.CLICK,browse);
    uploadbtn.addEventListener(MouseEvent.CLICK,upload);

    //var fileRefList:FileReferenceList = new FileReferenceList();

    var instance:Object = new Object();

    instance.fileList = new Array();
    instance.multiple = true;
    instance.queued = true;
    instance.fileList = new Array();
    instance.fileProgress = new Array();

    instance.progress = {
    filesFinished: 0,
    filesTotal: 0,
    bytesFinished: 0,
    bytesLoaded: 0,
    bytesTotal: 0
    };

    function browse(typeFilter:Object = null):Object {
    if (instance.fileReference) return false;

    instance.fileReference = new FileReferenceList();

    //instance.fileReference.addEventListener(Event.SELECT,selectHandler);
    //instance.fileReference.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, completeHandler);
    //instance.fileReference.addEventListener(Event.COMPLETE,completeHandler);

    addEvents(instance.fileReference);

    if (instance.fileReference.browse()) return true;
    //instance.fileReference.browse();
    //trace(’browsing’);

    return false;
    }

    function upload(options:Object = null):Object{
    trace(’Upoading’);
    if (!instance.fileList.length) return false;

    for (var i:Number = 0; i < instance.fileList.length; i++){
    uploadFile(instance.fileList[i]);
    }

    return true;
    }

    function selectHandler(event:Event):void
    {
    if (instance.fileList.length) removeFile();

    //var request:URLRequest = new URLRequest("http://localhost/fupload/myupload.php");
    var file:FileReference;
    var files:FileReferenceList = FileReferenceList(event.target);

    var selectedFileArray:Array = files.fileList;
    for (var i:uint = 0; i < selectedFileArray.length; i++)
    {

    file = FileReference(selectedFileArray[i]);
    addEvents(file);
    // here i added this
    instance.fileList.push(file);

    //file.addEventListener(Event.COMPLETE, completeHandler);

    // commented and taken to upload
    /*
    file.addEventListener(Event.COMPLETE, completeHandler);
    try
    {
    file.upload(request);
    }
    catch (error:Error)
    {
    trace("Unable to upload files.");
    }
    */
    }

    instance.fileReference=null;

    }

    function completeHandler(event:Event):void {
    trace("completeHandler: " + event);
    }

    function uploadCompleteDataHandler(event:DataEvent):void {
    //var file:FileReference = FileReference(event.target);
    var mydata:Object = JSON.decode(event.data);
    trace("uploadCompleteData: " + mydata.size);
    //trace('helo');
    }

    function indexOfFile(file:Object):Number {
    var list:Array = instance.fileList;
    for (var i:Number = 0; i < list.length; i++){
    if ((list[i].name == file.name) && (list[i].size == file.size)) return i;
    }
    return -1;
    };

    function uploadFile(file:FileReference):void {
    var request:URLRequest = new URLRequest("http://localhost/fupload/myupload.php");
    var data = new URLVariables();
    request.data=data;
    request.method='POST';
    file.upload(request);
    }

    function finishFile(file:FileReference):Boolean {
    var removeFiled:Boolean = removeFile(file, true);
    if (removeFiled) instance.uploading = false;
    return removeFiled;
    };

    function valueOfFile(file:FileReference):Object {
    return {
    name: file.name,
    size: file.size,
    type: file.type,
    creationDate: file.creationDate.valueOf(),
    modificationDate: file.modificationDate.valueOf()
    };
    }

    function removeFile(file:Object = null, finished:Boolean = false):Boolean {
    if (file){
    var num:Number = indexOfFile(file);
    if (num == -1) return false;
    instance.fileList[num].cancel();
    instance.fileList.splice(num, 1);
    instance.fileProgress.splice(num, 1);
    if (finished){
    instance.progress.bytesFinished += file.size;
    instance.progress.filesFinished++;
    } else {
    instance.progress.bytesTotal -= file.size;
    instance.progress.filesTotal--;
    }
    } else {
    if (!instance.fileList.length) return false;
    for (var i = 0; i < instance.fileList.length; i++) instance.fileList[i].cancel();
    instance.fileList.length = instance.fileProgress.length = 0;
    if (finished){
    instance.progress.bytesFinished = instance.progress.bytesTotal;
    instance.progress.filesFinished = instance.progress.filesTotal;
    } else {
    instance.progress.bytesTotal = instance.progress.filesTotal = instance.progress.bytesFinished = instance.progress.filesFinished = 0;
    }
    }
    if (!instance.fileList.length) instance.uploading = false;
    return true;

    };

    function addEvents(ref):void {
    //ref.addEventListener(Event.CANCEL, cancelHandler);
    //ref.addEventListener(Event.OPEN, openHandler);
    //ref.addEventListener(ProgressEvent.PROGRESS, progressHandler);
    //ref.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
    //ref.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    //ref.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
    ref.addEventListener(Event.SELECT, selectHandler);
    ref.addEventListener(Event.COMPLETE,completeHandler);
    ref.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);
    }

    function cancelHandler(event:Event):void {

    }

    function openHandler(event:Event):void {

    }

    function securityErrorHandler(event:SecurityErrorEvent):void {

    }

    function ioErrorHandler(event:IOErrorEvent):void {

    }

    function httpStatusHandler(event:HTTPStatusEvent):void {

    }

    function progressHandler(event:ProgressEvent):void {

    }

    Topics: My Code |

    Comments

    You must be logged in to post a comment.