2009
03.06
03.06
寫這篇的原因來自於以前Flex班上學生的問題,內容如下:
•梅干扣肉 說:
2009年3月2日 9:06 AM
老師請問一下~~
在Flex中,用Web的開發環境中,
有辦法直接開啟本端照片嗎?
例如:
不知是否有辦法直接開啟,而不要先上傳再開啟~
因為當這樣指時,就會出現一段安全性的問題~
•anistar 回應:
2009年3月2日 5:48 PM
我想你說的直接開啟應該是指在client呈現資料,答案是”當然可以”,這個只需要用FileReference就可以做到了,下次有空我再分享出來給你看。
最近實在太忙了,忙到連看Blog的留言有時候多要幾天才有機會看一次,今天趁著午休時間稍微快速的展示一下實際的作法,這個問題很單純也很簡單,只要從本機端讀取內容呈現在Flash Player裡就可以,不過請注意以下的示範需要在Flash CS3或Flex 3.2以後的版本才能完成編譯的動作。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="init()" backgroundColor="White"> <mx:Script> <![CDATA[ import mx.core.UIComponent; private var fileR:FileReference=new FileReference(); private function init():void { this.fileR.addEventListener(Event.SELECT, selectHandler); this.fileR.addEventListener(Event.COMPLETE, completeHandler); } private function selectHandler(event:Event):void { this.fileR.load(); } private function completeHandler(event:Event):void { this.imageShow.source=this.fileR.data; } private function showPic():void { this.fileR.browse(); } ]]> </mx:Script> <mx:Button label="Browse Image" click="showPic()"/> <mx:Image id="imageShow" width="200" height="200"/> </mx:Application>
相關文章:
本文引用:
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。



感謝老師在百忙之中,
還抽空寫了範例教學!!
原來是3.2版就行了,
之前還以為非得要4才行,
還特地把Flex升到4.0
ps.對了,老師我的網址換了,
可否請老師有空時,再麻煩更新一下,
梅問題教學網-http://www.minwt.com
恭喜你也搞定了….網址幫你換了.
剛剛測試過
一定要把 FLASH PLAYER 指定為 10.0.0
才可以耶~
原來問題卡在 FLASH PLAYER
恭喜你搞定了 :)
老師 ~ >"<
重點是 3.2 以後版本….
3.3 出了 但是也不可以阿 XD
所以是 4.0 以後版本嗎? 是這樣說嗎?
我來亂的 ^^
前幾天我也有玩出來
http://blog.corausir.org/programing/ausir-764/trackback
good job….這樣我就不用在繼續示範下去了,反正關鍵點都是一樣的,重複沒意義,大家一人寫一點比較快。 XD
老師 SDK 3.2 ~ 3.3 的 FileReference 並沒有 .load 方法耶~ 我更新到 sdk 4.0 才有出現 .load 方法 ~ 為什麼呢?
因為你沒有將Flash Player設成10的關係,你可以嘗試在3.2中設定輸出使用Flash Player 10,保證一定可以。
老師, 幫你補充一下
一定需要用Flash10才可以
Flash9的FileReference還沒有這樣的功能
^^
謝謝補充,所以當初在文章中才會指定寫"Flash CS3或Flex 3.2以後的版本才能完成編譯的動作" XD