iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何解决springcloud阿里云OSS文件访问跨域问题
  • 783
分享到

如何解决springcloud阿里云OSS文件访问跨域问题

2023-07-02 00:07:50 783人浏览 安东尼
摘要

本篇内容介绍了“如何解决SpringCloud阿里云OSS文件访问跨域问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决在阿里云OSS后

本篇内容介绍了“如何解决SpringCloud阿里云OSS文件访问跨域问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

解决

在阿里云OSS后台管理中,进入权限管理,进入跨域设置,添加跨域规则,设置来源为*

至此配置完成后访问图片还是会出现跨域问题,这是因为OSS文件默认会开启缓存,及后续访问的实际上是缓存的文件,这就会导致不能匹配到我们上述配置的跨域规则

于是我们需要将缓存禁用掉,如果文件就一两个的话,可以直接在后台中设置禁用缓存,将Http头中Cache-Control设置为no-cache

如何解决springcloud阿里云OSS文件访问跨域问题

因为目前阿里云后台只支持单个文件的HTTP头设置,并不支持批量设置,所以到有多个文件或者后续上传的文件都不需要缓存时就不能满足了

那么我们如何来实现这个批量禁用缓存的需求呢。答案就是在上传文件到OSS的时候在请求头中设置Cache-Controlno-cache

首先上传阿里云OSS的接口是基于aliyun-sdk-oss依赖的

<dependency>            <groupId>com.aliyun.oss</groupId>            <artifactId>aliyun-sdk-oss</artifactId>        </dependency>

其次我们观察该依赖包提供的上传文件接口,会发现其中有一个方法可以设置ObjectMetadata

如何解决springcloud阿里云OSS文件访问跨域问题

ObjectMetadata中是可以设置Header的

如何解决springcloud阿里云OSS文件访问跨域问题

那么解决的方法就很清晰了,我们只需要在调用该文件上传put方法时,在ObjectMetadata中设置上我们需要的Header即可,参考代码如下:

    private final OSSClient ossClient;        @PostMapping("/put-file-with-nocache")public PutObjectResult putFileWithNoCache(@RequestParam MultipartFile file) {String fileName = file.getOriginalFilename();ObjectMetadata metadata = new ObjectMetadata();// 取消文件缓存,文件每次都会从OSS服务器获取metadata.setHeader("Cache-Control", "no-cache");metadata.setHeader("Expires", "0");PutObjectResult bucketName = ossClient.putObject("bucketName", fileName, file.getInputStream(), metadata);return bucketName;}

之后通过该接口上传的图片就不会再有跨域问题了,我们在测试工具中调用访问该图片,也会发现其response中会多出一个cache-control: no-cache的响应头了。

如何解决springcloud阿里云OSS文件访问跨域问题

“如何解决springcloud阿里云OSS文件访问跨域问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何解决springcloud阿里云OSS文件访问跨域问题

本文链接: https://www.lsjlt.com/news/338682.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决springcloud阿里云OSS文件访问跨域问题
    本篇内容介绍了“如何解决springcloud阿里云OSS文件访问跨域问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决在阿里云OSS后...
    99+
    2023-07-02
  • 解决springcloud阿里云OSS文件访问跨域问题的实现
    目录引言解决引言 最近在高德地图中引用阿里云OSS存储的图片时,出现跨域访问问题,特此记录,以方便后续同学参考 解决 1、在阿里云OSS后台管理中,进入权限管理,进入跨域设置,添加跨...
    99+
    2024-04-02
  • SpringCloud zuul 网关如何解决跨域问题
    跨域 在SpringCloud中 zuul 和springboot 要同时配置才能实现网关处理跨域 解决Access to XMLHttpRequest at ‘http://19...
    99+
    2024-04-02
  • ajax如何解决跨域访问遇到的问题
    这篇文章给大家分享的是有关ajax如何解决跨域访问遇到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ajax请求一个目标地址为非本域(协议、域名、端口任意一个不同)的web...
    99+
    2024-04-02
  • 如何解决Ajax跨域访问Cookie丢失问题
    这篇文章将为大家详细讲解有关如何解决Ajax跨域访问Cookie丢失问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.ajax跨域访问,cookie丢失首先创建两个测...
    99+
    2024-04-02
  • JSONP怎么解决Ajax跨域访问问题
    这篇文章主要介绍“JSONP怎么解决Ajax跨域访问问题”,在日常操作中,相信很多人在JSONP怎么解决Ajax跨域访问问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JS...
    99+
    2024-04-02
  • 如何解决Vue开发环境跨域访问的问题
    小编给大家分享一下如何解决Vue开发环境跨域访问的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vue开发环境跨域访问其他服...
    99+
    2024-04-02
  • gulp如何解决跨域的配置文件问题
    这篇文章主要介绍gulp如何解决跨域的配置文件问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码//引入插件 var gulp = require(...
    99+
    2024-04-02
  • Apache如何解决跨域问题
    方案一:直接在域名配置中允许跨域 缺点:安全性缺失。公交车,谁都能访问。相当于完全放弃跨域控制。 且无法发送登陆凭证,发送cookie等依然会被拦截 修改apache/conf/httpd.conf 文件 找到   #LoadModule ...
    99+
    2023-09-01
    apache php 跨域
  • PHP跨域问题如何解决
    这篇文章主要讲解了“PHP跨域问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP跨域问题如何解决”吧!设置允许访问的域名:允许全部的域名访问header("Acces...
    99+
    2023-07-05
  • Vue3跨域问题如何解决
    这篇文章主要介绍了Vue3跨域问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3跨域问题如何解决文章都会有所收获,下面我们一起来看看吧。vue项目配置代理vue.config.jsconst&n...
    99+
    2023-07-05
  • ajax如何解决跨域问题
    小编给大家分享一下ajax如何解决跨域问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!跨域同源策略限制同源策略阻止从一个域上加...
    99+
    2024-04-02
  • django跨域问题如何解决
    Django跨域问题可以通过以下几种方法来解决:1. 使用Django的CORS插件:可以通过安装django-cors-heade...
    99+
    2023-09-26
    Django
  • iframe如何解决跨域问题
    iframe如何解决跨域问题,需要具体代码示例 跨域问题是前端开发中常遇到的一个难题。由于浏览器的同源策略,页面中的JavaScript无法直接访问不同域名下的资源。解决这个问题有很多...
    99+
    2024-02-22
    跨域问题解决
  • Ajax跨域问题如何解决
    这期内容当中小编将会给大家带来有关Ajax跨域问题如何解决,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。跨域跨域有三个条件,满足任何一个条件就是跨域 1:服务器端口不一致 2:协议不一...
    99+
    2023-06-08
  • VUE如何解决跨域问题
    这篇文章主要介绍“VUE如何解决跨域问题”,在日常操作中,相信很多人在VUE如何解决跨域问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VUE如何解决跨域问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • ajax跨域请求js拒绝访问的问题如何解决
    本篇内容介绍了“ajax跨域请求js拒绝访问的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Jsonp如何解决ajax跨域问题
    这篇文章主要为大家展示了“Jsonp如何解决ajax跨域问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Jsonp如何解决ajax跨域问题”这篇文章吧。一、介...
    99+
    2024-04-02
  • 如何解决thinkphp withCredentials跨域问题
    小编给大家分享一下如何解决thinkphp withCredentials跨域问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!             ...
    99+
    2023-06-08
  • node.js中如何解决跨域问题
    这篇文章主要讲解了“node.js中如何解决跨域问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“node.js中如何解决跨域问题”吧!如果用Express框架的话可以使用cors包来解决跨...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作