安全沙箱冲突,用于在开发环境中访问localhost rest服务的模块

时间:2012-02-02 17:46:44

标签: flex module

我们的应用程序有一个带有链接按钮的main模块,点击每个链接按钮可以在主要内容区域中加载不同的模块。

对于只有一个模块,当我们尝试执行多部分图像数据时,我们得到Security Sandbox Violation

我找不到任何关于这个模块的显着不同的信息,其他模块可以很好地完成多部分帖子。

我已经添加了WI SWF和各种文件夹(例如包含文件夹,其父级等)到flash player全局设置,但没有运气。我们添加了一个自由的跨域文件,但仍然没有运气。

顺便说一句,我们正在使用ModuleLoader,我们应该尝试ModuleManager吗?

请帮忙。

  

安全沙箱违规

     

连接到   http://localhost:PORTNUMBERHIDDEN/services/rest/mycompany/222/assetservice/asset?action=saveasset&objecttype=serviceOffer&objectid=5960&User-Agent=flex3.0&randomNum=1328144876976

     

暂停 - 不允许

     

文件:/// C:/Perforce/Main/Portal/main/bin-debug/serviceOffer-2.4.0.18-SNAPSHOT.swf

1 个答案:

答案 0 :(得分:0)

我从这篇网络帖子得到了答案:

Unexpected Flash Security Exception When Using URLLoader

而不是像这样设置contentType

request.contentType = "multipart/form-data;boundary=" + POSTUploadBuilder.boundary;

像这样设置contentType

request.requestHeaders.push(new URLRequestHeader('Content-Type', 'multipart/form-data;
boundary=' + POSTUploadBuilder.boundary));

这是我在POSTUploadBuilder课程中创建边界的方式:

public class POSTUploadBuilder {
    private static var _boundary:String = "";
    private static var _mainBoundary:String = "";

    public static function get boundary():String {
        if(_boundary.length == 0) {
            var i:uint = 0;
            var len:uint = 0x20;

            for(; i < len; ++i) {
                _boundary += String.fromCharCode(uint(97 + Math.random() * 25));
            }
        }

        return _boundary;
    }