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 ? '' : ''; }
img元素中的crossorigin属性
img
是我们在web开发中比较常用的一个标签,它代表着文档中的一个图像元素。HTML5给这个标签新增加了一个crossorigin
属性,这个属性决定了图片获取过程中是否开启CORS
功能
使用场景
在最近的项目开发中,有一个需求是让用户输入一个任意图片的url地址,在前端预览图片并让用户裁剪,再将裁剪好的图片上传到后端的服务器上。这里输入的图片地址很有可能来自第三方站点,这就涉及到一个跨域的问题,如果仅仅是展示预览图片的话是没有什么问题的,但这里裁剪图片时需要将裁剪好的图片进行base64编码,如果没有使用crossorign
开启CORS
功能的话,在使用canvas
的toBlob()
、toDataURL()
和getImageData()
方法时就会出现跨域的问题。
crossorigin属性
这个属性有两个值可选:
anonymous
:如果使用这个值的话就会在请求中的header
中的带上Origin
属性,但请求不会带上cookie
和其他的一些认证信息。
use-credentials
:这个就同时会在跨域请求中带上cookie
和其他的一些认证信息。
在使用这两个值时都需要server端在response的header中带上Access-Control-Allow-Credentials
属性。
可以通过server的配置文件来开启这个属性:server开启Access-Control-Allow-Credentials
cropper 图片跨域相关推荐
- 上传图片截图预览控件不显示cropper.js 跨域问题
上传图片到图片服务器,因为域名不同,多以会有跨域问题. No 'Access-Control-Allow-Origin' header is present on the requested reso ...
- 解决Canvas.toDataURL 图片跨域问题
解决Canvas.toDataURL 图片跨域问题 参考文章: (1)解决Canvas.toDataURL 图片跨域问题 (2)https://www.cnblogs.com/ajg016/p/547 ...
- php把网络图片转化为base64格式,解决html2canvas图片跨域问题
一.前言 最近在用html2canvas做网页截图功能.这个开源库使用很简单,代码也很方便,但难点在于跨域问题.比如说,我的一个页面中有图片也有文字,图片是来自于图片服务器的网络图片.此时我们要生成截 ...
- JSPDF运用实例(解决图片跨域问题)
为什么80%的码农都做不了架构师?>>> 引入js(这里可以自己去官网下载jspdf https://parall.ax/products/jspdf) <script ...
- ssm把图片保存到项目中_项目中的图片跨域问题解决方式
现象 首先,在生产环境中,由于进行编辑图片时,将图片回显到ReactCrop组件中进行可裁剪编辑,然而回显时,需要将图片转化为base64的格式或者blob对象, 此时需要将图片次绘制成canvas进 ...
- vue实现HTML转PDF (已解决清晰、页边距、图片跨域导出等问题)
最近有需求做简历打印的功能,就又花时间研究了一下html转图片导出,里面牵扯到多页pdf导出时的分页和页边距问题,清晰度问题以及图片跨域问题等.我们一个一个来解决. 一.先说HTML转PDF的实现方法 ...
- canvas里 阿里云服务器oss图片跨域处理
图片img标签默认是可以跨域的,但是canvas中不允许跨域,所以在使用html2canvas.js将html代码转图片时,html中如果存在跨域图片就会报错.需要后台在阿里云上配置图片允许跨域.前端 ...
- html图片左侧留白,HTML+CSS入门 如何解决图片跨域导致的截图空白
本篇教程介绍了HTML+CSS入门 如何解决图片跨域导致的截图空白,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 1. 后端支持:图片要是cdn上的地址,并且允许图片跨域 ...
- vue吸管拾色器、利用canvas获取坐标点颜色、canvas获取坐标点颜色图片跨域、图片转base64、colorPicker
vue吸管拾色器.利用canvas获取坐标点颜色.canvas获取坐标点颜色图片跨域.图片转base64.colorPicker 1.需求:表格中主颜色和次颜色是需要从缩略图上吸取颜色,然后渲染色块, ...
最新文章
- 一份整理 | PyTorch是什么,为何选择它
- 欢迎来到美多商城!-项目准备之项目介绍-项目需求分析-项目架构设计
- EOS 共识机制 (4)出块流程
- Linux -- gpasswd
- VTK:图片之ImageNoiseSource
- [转载]GIF、JPEG 和 PNG的区别在哪里?
- zc702运行linux,笔记:ZC702之linux运行
- java中的BigInteger
- 相控阵天线方位角俯仰角matlab画图,理解相控阵天线的方向图
- 04L型匹配和T型匹配的核心算法
- 腾讯可信区块链方案白皮书 QA
- python爬取公众号历史文章
- 【机器学习】Tensorflow.js:我在浏览器中实现了迁移学习
- iPhone 6 被盗记录二【写在315前夕:苹果售后福州直信创邺在没有三包的情况下帮小偷翻新、助力小偷换机销赃!无视王法。让人震惊,痛心,憎恨!消费者很受伤很无奈】...
- 【智能制造】当数据智能遇上工业制造
- 阶乘因式分解(二) nyist
- 酸爽,最近又帮业务方制作了一个数据看板(附源码)
- linux系统ssh安装,安装ssh_Linux系统安装Autossh的方法
- 迅雷将启动收费下载服务 因版权问题屡次被告
- 图书分类页面php,PHP开发简单图书借阅系统之创建主页面