<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    如何用BlazeDS動態更改圖片

    Posted on 2011-07-06 14:06 TWaver 閱讀(1662) 評論(2)  編輯  收藏

    相信大家在實際應用中肯定會碰到這樣的問題:如何動態更改網元圖片或者Topo背景?本文用具體實例演示了如何從本地上傳圖片到服務器,并設置為Topo背景。




    首先介紹一下本文用到的技術:
    1. FileReference
    FileReference
    用于從本地打開文件,而且需要添加編譯選項:-target-player=10.0.0。關于FileReference的用法請參考官方文檔
    FileReference API
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html
    2. BlazeDS
    本文用BlazeDS上傳文件,后續應用篇也使用了BlazeDS。更多關于BlazeDS的信息請參考官方網站
    BlazeDS
    http://opensource.adobe.com/wiki/display/blazeds/BlazeDS
    下面進入正題:
    1.
    選擇圖片,然后將圖片顯示出來

     1private function selectImage():void {
     2    fileReference = new FileReference();
     3    fileReference.addEventListener(Event.SELECT, function(e:Event):void {
     4        fileReference.load();
     5    }
    );
     6    fileReference.addEventListener(Event.COMPLETE, function(e:Event):void {
     7        var loader:Loader = new Loader();
     8        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(event:Event):void {
     9            image.source = event.target.content;
    10            uploadButton.enabled = true;
    11        }
    );
    12        loader.loadBytes(fileReference.data);
    13    }
    );
    14    fileReference.browse([new FileFilter("Image Files""*.jpg;*.jpeg;*.gif;*.png;*.JPG;*.JPEG;*.GIF;*.PNG")]);
    15}

    16




    2. 上傳圖片,并且在上傳結束后,設置成Topo背景


     1private function uploadImage():void {
     2    RemoteObjectUtil.invoke("UploadImage""uploadFile", handleUploadSuccess, fileReference.name, fileReference.data);
     3}

     4
     5private function handleUploadSuccess(result:Object):void {
     6    if(result as Boolean && callBackFunction != null){
     7        callBackFunction(fileReference.name);
     8        PopUpManager.removePopUp(this);
     9    }
    else{
    10        Alert.show("Upload Image failed.");
    11    }

    12}
    ;
    13



     1uploadImage.callBackFunction = function(name:String):void {
     2    var style:IStyle;
     3    if(network.currentSubNetwork == null){
     4        style = box;
     5    }
    else{
     6        style = network.currentSubNetwork;
     7    }

     8    style.setStyle(Styles.BACKGROUND_TYPE, Consts.BACKGROUND_TYPE_IMAGE);
     9    style.setStyle(Styles.BACKGROUND_IMAGE, name);
    10}
    ;
    11

    3. 調用后臺方法的代碼如下:




    3. 調用后臺方法的代碼如下:

     1public static function invoke(destination:String, method:String, callBack:Function,  parameters:Array):void {
     2    var remoteObject:RemoteObject = new RemoteObject(destination);
     3    remoteObject.addEventListener(FaultEvent.FAULT, function(e:FaultEvent):void {
     4        Alert.show(e.toString());
     5    }
    );
     6    remoteObject.addEventListener(ResultEvent.RESULT, function(e:ResultEvent):void {
     7        if(callBack != null){
     8            callBack(e.result);
     9        }

    10    }
    );
    11    remoteObject.getOperation(method).send.apply(null, parameters);
    12}

    13

    4. 后臺保存圖片的代碼如下,將PATH更改為Web工程部署后的目錄:

     1public class UploadImage {
     2    private final static String PATH = "F:/ws/java/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/BlazedsDemo/";
     3
     4    public boolean uploadFile(String fileName, byte[] content) throws Exception {
     5        if (content == null || content.length == 0
     6                || fileName == null || fileName.length() == 0){
     7            return false;
     8        }

     9        File file = new File(PATH + fileName);
    10        FileOutputStream stream = new FileOutputStream(file);
    11        stream.write(content);
    12        stream.close();
    13        return true;
    14    }

    15}

    16


     

    下一篇將講述數據交互:如何在后臺構造數據,傳給前臺顯示


     


    評論

    # re: 如何用BlazeDS動態更改圖片  回復  更多評論   

    2011-07-06 15:15 by sondy
    不錯學到不少東西

    # re: 如何用BlazeDS動態更改圖片  回復  更多評論   

    2011-07-08 15:17 by 濟南口腔醫院
    嗯,確實不錯,不過自己操作起來估計夠嗆!http://www.0531yk.com/

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲视频免费一区| 永久免费看bbb| 13一14周岁毛片免费| 久久国产精品免费网站| 国产成人免费ā片在线观看老同学| jizz免费观看视频| 国产高清对白在线观看免费91| 久青草国产免费观看| 国产精品美女久久久免费| 中国黄色免费网站| 日本免费高清视频| 永久免费在线观看视频| 美女视频黄免费亚洲| 最近中文字幕免费mv视频7| 免费的一级黄色片| 免费在线黄色网址| 中文字幕亚洲综合久久菠萝蜜| 亚洲日韩精品一区二区三区无码 | 四虎永久在线观看免费网站网址 | 免费鲁丝片一级观看| 国产精品四虎在线观看免费| 成人亚洲综合天堂| 亚洲另类无码一区二区三区| 亚洲欧美日韩综合久久久 | 精品亚洲综合在线第一区| 久久精品夜色国产亚洲av| 亚洲精品视频在线观看免费| 亚洲国产91在线| 国产亚洲精品仙踪林在线播放| selaoban在线视频免费精品| 青柠影视在线观看免费| 久久九九兔免费精品6| 日韩成人免费aa在线看| 久久精品亚洲男人的天堂| 亚洲视频在线观看| 亚洲日韩国产欧美一区二区三区 | 国产亚洲视频在线观看网址| 国产免费伦精品一区二区三区| 一区二区三区四区免费视频 | 岛国av无码免费无禁网站| 免费又黄又爽的视频|