2010-09-23 88 views
0

我有一個FileReferenceList我想在DataGrid中顯示圖像;目前我收到以下錯誤:Only one download, upload, load or save operation can be active at a time on each FileReference.以下是我的代碼;任何人都知道如何解決我收到的錯誤?謝謝。如何顯示來自FileReferenceList的圖像?

這裏是我的DataGrid:

<s:Panel> 
<mx:DataGrid id="imageGrid" width="100%" height="100%" dataProvider="{imageFiles}"> 
<mx:columns> 
<mx:DataGridColumn itemRenderer="renderers.GridImgRenderer" headerText="Image"/> 
<mx:DataGridColumn dataField="name" headerText="Image Name"/> 
<mx:DataGridColumn dataField="size" headerText="Image Size"/> 
</mx:columns> 
</mx:DataGrid> 
<s:controlBarContent> 
<s:Button id="browse" label="Browse" click="browseHandler(event)"/> 
<s:Button id="upload" label="Upload"/> 
</s:controlBarContent> 
<s:controlBarLayout> 
<s:HorizontalLayout horizontalAlign="center" paddingBottom="5" paddingTop="5"/> 
</s:controlBarLayout> 
</s:Panel> 

這裏是我的渲染器:

<?xml version="1.0" encoding="utf-8"?> 
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/mx" 
focusEnabled="true" creationComplete="init()"> 
<fx:Script> 
<![CDATA[ 
private function init():void 
{ 
data.addEventListener(Event.COMPLETE, function(event:Event):void 
{ 
imagePreview.source = event.target.data; 
}); 
data.load(); 
} 
]]> 
</fx:Script> 
<mx:Image id="imagePreview" width="200" maintainAspectRatio="true" scaleContent="true"/> 
</s:MXDataGridItemRenderer> 

回答

0

那麼對於初學者,您的渲染是錯誤的。回收時會遇到問題。

要回答您的主要問題,您可能會遇到有關文件訪問和用戶啓動事件的安全問題。

它是一個棘手的問題,我建議閱讀它documentation