问题设置URLRequest路径

时间:2009-11-12 10:53:21

标签: asp.net flash

调用默认页面的fla文件。但它无法找到默认页面..我的default.aspx页面位于根目录中, 我的fla文件位于../capture/image.fla中。这是我的代码

function onSaveJPG(e:Event):void{
    var myEncoder:JPGEncoder = new JPGEncoder(100);
    var byteArray:ByteArray = myEncoder.encode(bitmapData);

    var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");

    var url:String = "../../default.aspx";

    var saveJPG:URLRequest = new URLRequest(url);
    saveJPG.requestHeaders.push(header);
    saveJPG.method = URLRequestMethod.POST;
    saveJPG.data = byteArray;



    var urlLoader:URLLoader = new URLLoader();
    urlLoader.addEventListener(Event.COMPLETE, sendComplete);
    urlLoader.load(saveJPG);

    function sendComplete(event:Event):void{
        warn.visible = true;
        addChild(warn);
        warn.addEventListener(MouseEvent.MOUSE_DOWN, warnDown);
        warn.buttonMode = true;
    }

任何指针或建议如何在flash中设置虚拟路径? 感谢

2 个答案:

答案 0 :(得分:1)

最安全的路线是使用绝对路径而不是相对路径。 在你的情况下,你可以做

var url:String = "/default.aspx";

Flash查看从swf文件包含到HTML中的路径,因此如果default.aspx也提供flash嵌入代码,则相对路径为“default.aspx”

如果要在从FLASH CS4导出时进行测试,则必须使用完整的URL,如

var url:String = "http://localhost/default.aspx"

我通常会包含这段代码以便于测试

import flash.system.Capabilities;

    ...
        var url:String = "/default.aspx";
        //test if playing in external player or in a browser
        if(Capabilities.playerType == "External") {
            url = "http://localhost"+url;
        }
    ...

答案 1 :(得分:1)

使用此检查...

var url:String = "~/default.aspx";