在Flex 4中,我试图创建一个简单的浏览按钮,使用浏览按钮获取的文件名更新TextInput对象的文本字段。它不一定是完整的路径,我想要的只是要显示的文件名。它仅在第二次点击浏览按钮后显示,而不是在我第一次选择我的文件后。这是我的代码:
import flash.net.FileReference;
private var fileReferencer:FileReference = new FileReference();
private var excelFilter:FileFilter = new FileFilter("*.xlsx", "*.xlsx;*.xls;");
protected var fileName:String = new String("");
protected function BrowseButton_clickHandler(event:MouseEvent):void
{
fileReferencer.browse([excelFilter]);
fileName = fileReferencer.name;
fileInputAddress.text = fileName;
}
所以回顾一下,文件名只会在第二次点击浏览按钮时显示在我的TextInput框中。
我做错了什么?
答案 0 :(得分:1)
Flash Player完全异步。因此,在调用fileReferencer.browse()
后,您无法立即获取文件名。这就是为什么你有一个过去的电话名称。要修复代码,您应订阅select
和cancel
个事件,并仅在select
个事件后更改文字(请参阅the documentation)。