我希望用户选择几个(图像)文件,选择后将异步加载并以某种方式处理。
我希望我可以使用标准功能" browseForOpenMultiple"。
但是一旦我选择了超过130个文件,AIR就会崩溃
"流程以退出代码-1.073.740.940"
结束这是我的测试应用:
<?xml version="1.0"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
creationComplete="onCreationComplete(event)"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script><![CDATA[
private function onCreationComplete(event:Event):void {
}
private function handleButtonClick(event:MouseEvent):void {
var imageFilter:FileFilter = new FileFilter("images", "*.jpg; *.png; *.bmp; *.swf");
var actualFilter:FileFilter;
var pdfBaseFile:File = new File("C:\\Users\\(userName)\\Documents\\jpgImagesDemoFolder");
actualFilter = imageFilter;
pdfBaseFile.addEventListener(FileListEvent.SELECT_MULTIPLE, handleFilesSelected);
pdfBaseFile.browseForOpenMultiple("Select a file: ", [actualFilter]);
}
private function handleFilesSelected(event:FileListEvent):void {
var fileList:Array = event.files;
tiResult.text = fileList.length + " files read";
}
]]></fx:Script>
<s:VGroup width="100%"
height="100%"
horizontalAlign="center"
>
<s:Button id="btBrowse"
label="Browse"
click="handleButtonClick(event)"/>
<s:TextInput id="tiResult"
text = "nothing read yet" />
</s:VGroup>
</s:WindowedApplication>`
我认为由于要加载许多&#34;文件而导致内存限制被击中&#34 ;;虽然我不需要加载文件但是那时我只对文件列表感兴趣。
我想我必须以编程方式读取目录(例如询问用户目录路径之后),然后将结果(文件路径数组)呈现给用户以供选择。
无论如何,我想知道我的假设是否正确,文件数量确实存在限制;或所选文件的累积大小限制。
感谢您的任何澄清!
更新 有趣的是270个文件的拖放工作没有任何问题!