Adobe AIR AS3:" browseForOpenMultiple"?是否有限制?

时间:2018-03-30 20:20:25

标签: actionscript-3 crash air

我希望用户选择几个(图像)文件,选择后将异步加载并以某种方式处理。

我希望我可以使用标准功能" 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个文件的拖放工作没有任何问题!

0 个答案:

没有答案