XMLHttpRequest请求同服务图片返回不同结果提示跨域错误 100C

公司内部图片服务器
192.168.1.17:6680/imgweb/

已确认该服务可以正确访问并使用
其中
拥有两张图片
1、http://192.168.1.17:6680/imgweb/resources/share/1570677374969_401.jpg
2、http://192.168.1.17:6680/imgweb/resources/share/1575255135944_888.jpg

图片1为手动上传,图片2为程序上传

前端集成富文本编辑器tinymce 过程中(可忽略)
发现 使用
以下代码出现异常情况


params:url, headers, withCredentials

var xhr = XMLHttpRequest();
xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
        resolve({
            status: xhr.status,
            blob: this.response
        });
    }
};
xhr.open('GET', url, true);
xhr.withCredentials = withCredentials;
global$1.each(headers, function (value, key) {
    xhr.setRequestHeader(key, value);
});
xhr.responseType = 'blob';
xhr.send();

出现异常 并且只有图1的情况出现异常

Access to XMLHttpRequest at 'http://192.168.1.17:6680/imgweb/resources/share/1570677374969_401.jpg' from origin 'http://192.168.1.3:8083' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Uncaught (in promise) ImageProxy HTTP error: Incorrect Image Proxy URL

图二可以正常访问
请帮忙分析原因和提出改进方式
或留下部分分析结果以及联系方式

本人联系方式 qq 380389309(不常用)

请各位仔细阅读我发生问题的现象,并且进行分析后回答,不要回复我跨域如何配置,注意事项,需要解析为何同服务器一张图片可以正常访问,另外一张不可以。当然,问题原因确实事跨域导致的,当前情况事跨域现象一定会发生,服务器已经配置了允许跨域,但是部分图片文件报错。

4个回答

这个问题我遇到过,按照下面的办法最后解决的
https://blog.csdn.net/weixin_30952535/article/details/94939396

如果有帮助,请采纳,着急下载没有积分

zfysxiaoxian
zfysxiaoxian 你的回复是处理如果服务器跨域或者是跨域搭建需要注意的事项,但是我的问题是出现跨域错误,但是不是跨域导致的
4 个月之前 回复
dyz_cn
dyz_cn 回复zfysxiaoxian: 我明白您的意思,这个我也不明白是怎么回事儿,之前我的使用场景是要在本地读取身份证号,是每次都会报这个错的,自己在本地做了个扫身份证的服务。问题解决不了,有个方案,是我的话总要试一下的。
4 个月之前 回复
zfysxiaoxian
zfysxiaoxian 回复dyz_cn: 我准备的已经是相同服务器,路径相同,文件类型相同的文件,其中一个会报错跨域相关问题,另外一个正常。
4 个月之前 回复
dyz_cn
dyz_cn 回复zfysxiaoxian: 在一个网站里访问另一个网站需要做这个设置,你改一下试试。
4 个月之前 回复
zfysxiaoxian
zfysxiaoxian 并不是服务器配置问题,如果是服务器配置问题,那么应该两个图片均报错才对
4 个月之前 回复

看不出有啥问题,希望对你有点帮助,参考一下这个吧:https://blog.csdn.net/weixin_34392843/article/details/91367766

zfysxiaoxian
zfysxiaoxian 当前csdn内容已尝试,无法解决当前情况,另外我的现象是一张提示,一张正常
4 个月之前 回复

我之前也遇见类似的问题,使用的阿里云的oss,当时配置了跨域,其他图片都没有问题,有一张图片一直有跨域的提示,,后来经过排查,发现有问题:
1、页面上存在 img 标签,引入了该地址,并且没有加 crossOrigin 属性
2、当使用 ajax 来请求图片的时候,跨域了。

后来分析原因,步骤 1 的时候,img 标签加载了跨域的图片,被浏览器缓存。。然后步骤2用 ajax来加载的时候,直接取的缓存里面的,所以报跨域错误。
解决办法,给 img 标签加 crossOrigin

baidu_32509511
mannymu 回复zfysxiaoxian: <img src="xxx" crossOrigin="Anonymous">
4 个月之前 回复
zfysxiaoxian
zfysxiaoxian 如何给img加crossOrigin?
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问