cropper 图片跨域

上传图片到图片服务器,因为域名不同,多以会有跨域问题。

No ‘Access-Control-Allow-Origin‘ header is present on the requested resource. Origin ‘http://img.xxx.com‘ is therefore not allowed access.

照看代码发现,cropper.js里面对图片的引用路径做了判断,给img标签添加了 crossorigin="anonymous"(匿名跨域属性)。

并且用了XMLHttpRequest 的get请求去访问img的引用路径,这样确实访问不到。需要在图片服务器,或者返回的请求头添加 Access-Control-Allow-Origin:*,或Access-Control-Allow-Origin:请求来源域名。

有一种简单快速的解决办法,就是直接去掉cropper.js里面跨域属性,因为默认情况下图片跨域也是可以显示的。

一、修改如下配置

// Check if the current image is a cross-origin image
checkCrossOrigin: false,

// Check the current image's Exif Orientation information
checkOrientation: false,

二、处理如下代码

下面是原始代码:

 function getCrossOrigin(crossOrigin) {
    return crossOrigin ? ' crossOrigin="' + crossOrigin + '"' : '';
  }

下面是修改后的代码

function getCrossOrigin(crossOrigin) {
    return crossOrigin ? '' : '';
}
posted @ 2019-09-05 18:00  Mr*wang  阅读(1236)  评论(0)    收藏  举报