Wednesday, August 26, 2009

Browse a file in AIR+Replace special character in a file name

package com.youniview.email.view.uploadFiles
{

import flash.events.FileListEvent;
import flash.filesystem.File;

public class UploadFileComponent
{
private var file:File;
public function UploadFileComponent()
{

file = new File();
file.addEventListener(FileListEvent.SELECT_MULTIPLE, file_selectMultiple);
file.browseForOpenMultiple("Please select a file or more...");

}

/**
* When user select multiple files or a single file
* stores the file into a directory on the user's computer
*/
private function file_selectMultiple(evt:FileListEvent):void
{

for(var i:int=0;i<evt.files.length;i++)
{

var date:Date = new Date;
var nUniqueAdd:Number = date.getTime();
var fileName:String = evt.files[i].nativePath;
fileName =
fileName.substring((fileName.lastIndexOf('\\'))+1,fileName.length);
var afileName:Array = fileName.split(".");
fileName =
ReplaceSpecialChars(afileName[0])+"`"+nUniqueAdd+'.'+afileName[1];
var originalLoc:File =
File.desktopDirectory.resolvePath(evt.files[i].nativePath);
var newFile:File =
File.desktopDirectory.resolvePath('user/'+fileName);
originalLoc.copyTo(newFile, true);

if ( !newFile.exists )
{
newFile.createDirectory();
trace( "Directory created." );
}
else
{
trace( "Directory already exists." );
}

}

}

/**
* Replace special character which exist into a file name with '_'
*
* @param - string with special character or so
*/
public function ReplaceSpecialChars( strFileName:String):String
{

try
{
var i:int=0;
for(i=0;i<strfilename.length;i++)
{

strFileName = strFileName.replace(" ", "_");
strFileName = strFileName.replace("!", "_");
strFileName = strFileName.replace("@", "_");
strFileName = strFileName.replace("#", "_");
strFileName = strFileName.replace("$", "_");
strFileName = strFileName.replace("%", "_");
strFileName = strFileName.replace("~", "_");
strFileName = strFileName.replace("^", "_");
strFileName = strFileName.replace("&", "_");
strFileName = strFileName.replace("(", "_");
strFileName = strFileName.replace(")", "_");
strFileName = strFileName.replace("+", "_");
strFileName = strFileName.replace("=", "_");
strFileName = strFileName.replace("}", "_");
strFileName = strFileName.replace("{", "_");
strFileName = strFileName.replace(";", "_");
strFileName = strFileName.replace("'", "_");
strFileName = strFileName.replace("`", "_");
strFileName = strFileName.replace(",", "_");
strFileName = strFileName.replace("[", "_");
strFileName = strFileName.replace("]", "_");
strFileName = strFileName.replace("-", "_");

}
}
catch(e:Error){}
return strFileName;
}

}
}

Thanks
R.Bhatia

No comments:

Post a Comment