KindEditor远程跨域上传的实现

最近在一个项目中,要实现所有上传功能的上传图片上传到另一台服务器一个二级域名下。
一般的上传接口和页面都已处理实现,但是富文件编辑器这块,kindeditor的跨域远程上传还是花了点时间。
特别记一下。
将kindeditor文件夹php和里面的文件 JSON.php upload_json.php 放到远程二级域名目录下的 也同样以php目录命名中。
修改 upload_json.php 返回数据的样式,这里是核心。

$json = new Services_JSON();
//echo $json->encode(array('error' => 0, 'url' => $return_path));

$data = array('error'=>0,'url'=>'http://img2.silent.ws/'.$return_path);
$url = 'http://www.silent.ws/shwredirect/redirect.html?s='.json_encode($data);
header("Location: ".$url);

exit;

在主域名主站的目录下,新建一个 文件夹 shwredirect ,添加一页面 redirect.html。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>redirect</title>
<script type="text/javascript">
//获取url参数
function getParameter(val) {
var uri = window.location.search;
var re = new RegExp("" + val + "=([^&?]*)", "ig");
return ((uri.match(re)) ? (uri.match(re)[0].substr(val.length + 1)) : null);
}
var upload_callback = function(){
var data=getParameter("s");
var location_hash=location.hash;
if(location_hash!=null && location_hash!="" && location_hash){
var data = location.hash ? location.hash.substring(1) : '';
data = decodeURIComponent(data);
document.getElementsByTagName("body")[0].innerHTML = '<pre>' + data + '</pre>';
}else{
data = decodeURIComponent(data);
document.getElementsByTagName("body")[0].innerHTML = '<pre>' + data + '</pre>';
}
};
</script>
</head>
<body onload="upload_callback();">
</body>
</html>

修改kindeditor调用页面中的 hander地址。

uploadJson: 'http://img2.silent.ws/php/upload_json.php',

这样就OK了。


标签: kindeditor, 跨域

非特殊说明,本博所有文章均为博主原创。

最新文章

发表评论