远程上传(使用blueimp文件上传插件)

时间:2014-04-03 18:36:50

标签: php jquery file-upload same-origin-policy blueimp

远程上传:通过给定的网址上传文件。

我想使用blueimp插件向我的网站添加远程上传。 我找到了这个链接:https://gist.github.com/blueimp/5075976,但我使用外部服务器上传我的文件,所以当我编写这段代码时,我收到错误:

Uncaught SecurityError: Blocked a frame with origin "http://myExternalURL.com" from accessing a frame with origin "http://www.myMainWebsite.com". Protocols, domains, and ports must match. 

代码中包含url的部分:

$('#remote-file-copy').on('submit', function (e) {
    e.preventDefault();
    var url = $(this).find('input').val(),
        iframe = $('<iframe src="javascript:false;" style="display:none;"></iframe>');
    if (url) {
        iframe
            .prop('src', 'http://I-USE-EXTERNAL-URL/remote-file-copy.php?url=' + encodeURIComponent(url))
            .appendTo(document.body);
    }
});

我该如何解决?

非常感谢! 抱歉我的英文

1 个答案:

答案 0 :(得分:1)

<?php

remote-file-copy.php之后立即添加此行
header("Access-Control-Allow-Origin: *");

这将告诉浏览器允许其他来源的javascript访问您的php文件中的内容,如果您只想从您的网站允许,您也可以这样做:

header("Access-Control-Allow-Origin: http://yourmaindomain.com");

更多阅读: MDNenable-cors.organother question

另见:chrome-blocks-different-origin-requests