从文件中获取文件名

时间:2012-05-29 12:58:13

标签: actionscript-3

我有以下代码:

private function uploadFile(file:File, packageId:String):void {
            try {
                var fullpath:String = file.nativePath;
                var filename:String = fullpath.substr(fullpath.lastIndexOf("/")+1,fullpath.length);
                packageItem.status = "Uploading file: "+filename;
                file.addEventListener(ProgressEvent.PROGRESS, function(event:ProgressEvent):void{uploadProgress(event, packageId)} );
                file.addEventListener(flash.events.Event.COMPLETE, function(event:flash.events.Event):void{uploadComplete(event, packageId)} );
                file.upload(urlRequest, packageId);
            } catch (error:Error) {
                logging.log(error.message); 
            }
        }

所以我从文件对象的路径中提取文件名。

文件来自:

File.applicationStorageDirectory

问题是这不适用于Windows,因为他们使用反斜杠而不是像mac osx那样使用斜杠。什么是分离文件名和文件的最佳方法,以便它可以在mac和windows上运行?

1 个答案:

答案 0 :(得分:0)

相当明显。

url属性包含文件的文件系统URL。所以文件的nativePath

  

C:\ Documents and Settings \ some_file.txt

将有url

  

文件:/// C:/Documents%20and%20Settings/some_file.txt

现在你只需要分开 / 就可以了。

P.S。:您可能需要unescape文件名才能删除网址格式