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

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

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

    TWaver - 專注UI技術(shù)

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

    如何用BlazeDS動態(tài)更改圖片

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

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




    首先介紹一下本文用到的技術(shù):
    1. FileReference
    FileReference
    用于從本地打開文件,而且需要添加編譯選項:-target-player=10.0.0。關(guān)于FileReference的用法請參考官方文檔
    FileReference API
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/FileReference.html
    2. BlazeDS
    本文用BlazeDS上傳文件,后續(xù)應用篇也使用了BlazeDS。更多關(guān)于BlazeDS的信息請參考官方網(wǎng)站
    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. 上傳圖片,并且在上傳結(jié)束后,設置成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. 調(diào)用后臺方法的代碼如下:




    3. 調(diào)用后臺方法的代碼如下:

     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


     

    下一篇將講述數(shù)據(jù)交互:如何在后臺構(gòu)造數(shù)據(jù),傳給前臺顯示


     


    評論

    # re: 如何用BlazeDS動態(tài)更改圖片  回復  更多評論   

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

    # re: 如何用BlazeDS動態(tài)更改圖片  回復  更多評論   

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

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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲人成在线免费观看| 亚洲成AV人在线观看天堂无码| 久久久久久免费一区二区三区| 亚洲精品永久在线观看| 911精品国产亚洲日本美国韩国 | 亚洲精品无码永久在线观看你懂的| 在线永久免费的视频草莓| 久久精品免费大片国产大片| 亚洲妇女无套内射精| 亚洲一区二区三区不卡在线播放| 亚洲AV无码一区东京热| 中文字幕久久亚洲一区| 深夜国产福利99亚洲视频| 在线观看人成网站深夜免费| 日本免费xxxx| 69pao强力打造免费高清| A片在线免费观看| 一级特黄录像免费播放中文版| 麻豆一区二区三区蜜桃免费| 综合一区自拍亚洲综合图区| 亚洲色无码专区一区| 亚洲人成小说网站色| 亚洲一线产区二线产区精华| 中文字幕亚洲色图| 久久亚洲国产成人精品性色 | 免费一级不卡毛片| 三年片免费高清版| 好猛好深好爽好硬免费视频| 特级av毛片免费观看| 青青青视频免费观看| 免费国产草莓视频在线观看黄| 猫咪www免费人成网站| 午夜亚洲乱码伦小说区69堂| 免费国产黄网站在线观看动图 | 亚洲福利在线播放| 亚洲国产精品嫩草影院久久| 亚洲精品国产高清不卡在线| 久久亚洲欧洲国产综合| 亚洲精品无码不卡在线播HE| 亚洲va无码va在线va天堂| 亚洲国产成人久久综合碰碰动漫3d|