Peace!

ok from the looks of your coding your a better programmer than me (I
am a bit of a newbie in FLEX) BUT you still have to initiate a
URLRequest method to send up your files based on your
_refAddFiles.fileList[<array number>].data information (this is done
one by one)

umm, I personally use an XML return in my URLRequest to tell me all
the final data I need (e.g. new filename (in case I renamed the file
due to a same filename or invalid linux file name convention), success
status, etc...). By adding an event listener for
DataEvent.UPLOAD_COMPLETE_DATA you can then parse the return value of
said URLRequest.

If your using a ColdFusion backend... I think this will be easier
because you'll have an immediate return via the ColdFusion process
(this is my theory only, I've never used ColdFusion before but have
read materials on the matter just in case I get a client that requires
it).

There you go... just use E4X to extract the data you want from the
returned XML data of your URLRequest process.

Sincerely,

Andrew John P. Young
--- In flexcoders@yahoogroups.com, "santoshgadagoju" <[EMAIL PROTECTED]>
wrote:
>
> I strucked at a point in designing uploading component in flex.
> Below is the code of my uploading component. Please find the red marked
> content in the below code.
> My requirement is to alert the URL of the file selected in the list box
> when i click a file item in the listbox.
> Please help me ...
> 
> 
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml
> <http://www.adobe.com/2006/mxml> " layout="absolute"
> creationComplete="initApp()">
> 
>      <mx:Style>
>          Text{
>              font-weight:    normal;
>          }
>          Label{
>              font-weight:    bold;
>          }
> 
>      </mx:Style>
> 
>      <mx:Script>
>          <![CDATA[
> 
>          import mx.states.*;
>              import mx.controls.*;
>              import mx.managers.*;
>              import mx.events.*;
>              import mx.events.ListEvent;
>              import flash.events.*;
>              import flash.net.*;
> 
>              private var _arrUploadFiles:Array;
>              private var _numCurrentUpload:Number = 0;
>              private var _refAddFiles:FileReferenceList;
>              private var _refUploadFile:FileReference;
>              private var _strUploadUrl:String;
> 
> 
> 
>              private function initApp():void {
>                  Security.allowDomain("*");
>                  _arrUploadFiles = new Array();
>              }
> 
>              // Set uploadUrl
>              public function set uploadUrl(strUploadUrl:String):void {
>                  _strUploadUrl = strUploadUrl;
>              }
> 
>              private function addFiles():void {
>                  _refAddFiles = new FileReferenceList();
>                  _refAddFiles.addEventListener(Event.SELECT,
> onSelectFile);
>                  _refAddFiles.browse();
>              }
> 
>              // Called to remove selected file(s) for upload
>              private function removeFiles():void {
>                  var arrSelected:Array = listFiles.selectedIndices;
>                  for (var i:Number = 0; i < arrSelected.length; i++) {
>                      _arrUploadFiles[Number(arrSelected[i])] = null;
>                  }
>                  for (var j:Number = 0; j < _arrUploadFiles.length; j++)
> {
>                      if (_arrUploadFiles[j] == null) {
>                          _arrUploadFiles.splice(j, 1);
>                          j--;
>                      }
>                  }
>                  listFiles.dataProvider = _arrUploadFiles;
>                  listFiles.selectedIndex = 0;
> 
>              }
> 
>              private function onSelectFile(event:Event):void {
>                  var arrFoundList:Array = new Array();
>                  // Get list of files from fileList, make list of files
> already on upload list
>                  for (var i:Number = 0; i < _arrUploadFiles.length; i++)
> {
>                      for (var j:Number = 0; j <
> _refAddFiles.fileList.length; j++) {
>                          if (_arrUploadFiles[i].label ==
> _refAddFiles.fileList[j].name) {
>                             
> arrFoundList.push(_refAddFiles.fileList[j].name);
>                              _refAddFiles.fileList.splice(j, 1);
>                              j--;
>                          }
>                      }
>                  }
>                  if (_refAddFiles.fileList.length >= 1) {
>                      for (var k:Number = 0; k <
> _refAddFiles.fileList.length; k++) {
>                         
> _arrUploadFiles.push({label:_refAddFiles.fileList[k].name,
> data:_refAddFiles.fileList[k]});
>                      }
>                      listFiles.dataProvider = _arrUploadFiles;
>                      listFiles.selectedIndex = _arrUploadFiles.length -
> 1;
>                  }
>                  if (arrFoundList.length >= 1) {
>                      Alert.show("The file(s): \n\n• " +
> arrFoundList.join("\n• ") + "\n\n...are already on the upload list.
> Please change the filename(s) or pick a different file.", "File(s)
> already on list");
>                  }
> 
>              }
> 
>              private function changeHandler(event:ListEvent):void{
> 
>                      Alert.show(event.itemRenderer.data.label);
> 
>                      // Here i want to alert the URL of the file
clicked,
>                      // i.e, URL of the file from where the file is
> uploaded.
>                  }
> 
> 
>          ]]>
>      </mx:Script>
> 
>      <mx:List id="listFiles" x="393" y="229" width="258"
> itemClick="changeHandler(event)"/>
>      <mx:Button x="659" y="239" label="Add" click="addFiles()" />
>      <mx:Button x="659" y="269" label="Del" click="removeFiles()"/>
> 
> 
> </mx:Application>
>


Reply via email to