我们有两个网络服务器,我们已经在这两个服务器之间专门处理任务。 我们已经决定将所有的 asp/aspx 页面放到一台服务器上,并将 upload.aspx + sql 服务器放到另一台服务器上:
这是服务器的名称:
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 中的安全问题,他们已经这样解决了,但这种固定让我们感到茫然。
我该怎么办?
问候。
最佳答案
这是 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
祝你好运!
关于asp.net - swfupload 不允许我从一台服务器上传到另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3667687/