跨域复习(放松一下)

目录

问题描述

跨域是什么

解决跨域

解决图片上传阿里云跨域

图片不能回显的原因

解决


问题描述

登录地址http://localhost:8001 访问 网关地址http://localhost:88/api/sys/login 端口号不同造成的跨域问题。

image-20210911000755169

跨域是什么

image-20210911002100676

解决跨域

image-20210911005140714

@Configuration
public class GulimallCorsConfiguration {

    @Bean
    public CorsWebFilter corsWebFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        // 1、配置跨域
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        // 否则跨域请求会丢失cookie信息
        corsConfiguration.setAllowCredentials(true);
        corsConfiguration.addAllowedOrigin("*");
        //新版本使用addAllowedOriginPattern这个替代addAllowedOrigin
        //corsConfiguration.addAllowedOriginPattern("*");

        source.registerCorsConfiguration("/**", corsConfiguration);
        return new CorsWebFilter(source);
    }
}

解决图片上传阿里云跨域

image-20211113231533245

配置阿里云post的所有请求都能跨域。

image-20211113232448847


 

图片不能回显的原因

 1、图片能上传不回显,检查bucket名称与OSS客户端是否一致。

2、检查 singleUpload中action设置是否正确。

image-20211113232138235

action为Bucket的外网访问域名,记得前面加上 http://

image-20211113232738697

解决

解决方法1、在配置文件中配置的endpoint 加了前缀 http://,由于配置中心的配置文件会覆盖本地的文件,所以需要先把配置中心的配置删除,然后再检查本地配置文件中的endpoint

解决方法2、搜索show-file-list这个属性把里面绑定的换个名字,然后定义在data中的handleUploadSuccess方法中将它改为true就好啦。

解决方法3、查看一下引入的single-upload这个标签里面是不是没有v-model="dataForm.logo"

显示403则可以去后台延长OssController里的expireTime。同时注意singleUpload 注意 accessId 是大写的Id

上传成功

image-20211113233003600

VUE插件查看

image-20211113234340216

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
跨域是指在浏览器中,一个网页的脚本试图去访问另一个网页的内容时,由于安全策略的限制而出现的问题。当脚本试图访问同一域名下的资源时,这是被允许的,但是当脚本试图访问不同域名下的资源时,就会触发跨域问题。 跨域问题是由于浏览器的同源策略导致的。同源策略是一种安全策略,它规定了浏览器只允许在同一域名下的网页之间进行相互通信,而不允许在不同域名下的网页之间进行相互通信。 跨域问题可以通过使用以下方法来解决: 1. JSONP(JSON with Padding):JSONP是一种利用script标签进行跨域请求的方法。利用这种方法,我们可以在页面中插入一个script标签,该标签的src属性指向一个API接口,API接口返回的数据会被包裹在一个函数调用中,并作为参数传递给该函数。 2. CORS(Cross-Origin Resource Sharing):CORS是一种跨域资源共享的机制。它允许浏览器向跨域的服务器发出XMLHttpRequest请求,从而实现跨域通信。 3. 代理服务器:代理服务器是一种位于客户端和目标服务器之间的中间服务器。当客户端需要访问跨域的资源时,它可以向代理服务器发出请求,代理服务器再将请求转发给目标服务器。由于代理服务器和目标服务器在同一域名下,因此不存在跨域问题。 以上三种方法各有优缺点,开发者可以根据具体需求选择合适的方法来解决跨域问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值