swfupload不允许我从服务器上传到另一台服务器

时间:2010-09-08 12:26:03

标签: asp.net swfupload

我们有两个网络服务器,我们在这两个服务器之间专门完成了任务。 我们决定将所有的asp / aspx页面放到一个服务器上,并将upload.aspx + sql server放到另一个服务器中:

这是服务器的名称:

http://server1.somecompany.com //这是所有页面所在的位置+ swfupload

http://server2.somecompany.com //这是upload.aspx和sql server所在的位置

以下是add_item.asp中的代码,其中swfupload将从server2调用upload.aspx

SWFUpload.onload = function () {
    var audio_settings = {
        flash_url : "../script/swfupload.swf",
        upload_url: "http://server2.somecompany.com/upload.aspx", // this is where swfupload from server1 call server 2
        post_params: {
            "ASPSESSID" : "{CDDAF2E2-1178-4465-9842-E54751DE8664}",
            "HELLO-WORLD" : "Here I Am",
            "section" : "sound"
        },

当我点击上传按钮时,swfupload尝试将我的页面重定向到server2.somecompany.com并且无法正常工作

但当我将upload_url更改为某些内容时:

http://server1.somecomapny.com

一切正常

我知道这是关于swfupload中的安全问题,他们已经解决了这个问题,但这种固定使我们感到茫然。

我该怎么办呢?

问候。

1 个答案:

答案 0 :(得分:6)

这是Flash中的安全措施。但是,您可以将远程服务器配置为接受这些请求,方法是在服务器的HTML根目录中包含名为crossdomain.xml的文件。

该文件应如下所示:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>

  <allow-access-from domain="[ YOUR SOURCE DOMAIN HERE ]" to-ports="80" />

</cross-domain-policy>

如果您必须允许从任何地方进行访问,请使用星号“*”替换“[您的源域]”。

欲了解更多信息,请访问:www.adobe.com/devnet/flashplayer/articles/cross_domain_policy.html

祝你好运!