php 跨域上传图片,图片跨域上传示例

#### Settings

```javascript

{

imageUpload : true,

imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],

imageUploadURL : "http://xxxxxxx/editor.md/examples/php/cross-domain-upload.php?test=dfdf",

crossDomainUpload : true,

uploadCallbackURL : "http://xxxxxx/upload_callback.html?test=dfdf"

}

```

#### 跨域上传原理

利用 iframe 来实现,A 站 POST 到 B 站,B 站处理上传后再跳转回到 A 站的 callback 页面,callback 页面此时在 iframe 内(即同域下),再通过 window.parent 就可以操作父页面的任意元素了。

#### 跨域上传示例 PHP 版

当前域名:blog.xxx.com/post.php

```html

```

图片服务器:static.xxx.com/uploader.php

```php

header("Access-Control-Allow-Origin: *"); // Setting allow domian name

$file = 'uploads/' . $_FILES['file']['name'];

// 详细过程略

move_uploaded_file($_FILES['file']['tmp_name'], $file);

$location = $_GET['callback'].'?success=1&message=xxxxxxx&url=http://static.xxx.com/2015/02/15'.$file.'&temp='.date('ymdhis');

header('location:' . $location);

exit;

?>

```

当前域名:blog.xxx.com/upload-callback.html

```html

var query = {};

var urlParams = window.location.search.split('?')[1];

urlParams = urlParams.split("&");

for (var i = 0; i< urlParams.length; i++) {

var param = urlParams[i].split("=");

query[param[0]] = param[1];

}

var imageDialog = window.parent.document.getElementById(query['dialog_id']);

//console.log(imageDialog, window.parent.document, window.parent, query);

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值