返回顶部
首页 > 资讯 > 后端开发 > Python >解决springcloud阿里云OSS文件访问跨域问题的实现
  • 571
分享到

解决springcloud阿里云OSS文件访问跨域问题的实现

2024-04-02 19:04:59 571人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录引言解决引言 最近在高德地图中引用阿里云OSS存储的图片时,出现跨域访问问题,特此记录,以方便后续同学参考 解决 1、在阿里云OSS后台管理中,进入权限管理,进入跨域设置,添加跨

引言

最近在高德地图中引用阿里云OSS存储的图片时,出现跨域访问问题,特此记录,以方便后续同学参考

解决

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

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

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

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

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

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

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

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

ObjectMetadata中是可以设置Header的

那么解决的方法就很清晰了,我们只需要在调用该文件上传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://lsjlt.com/news/150786.html(转载时请注明来源链接)

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

猜你喜欢
  • 解决springcloud阿里云OSS文件访问跨域问题的实现
    目录引言解决引言 最近在高德地图中引用阿里云OSS存储的图片时,出现跨域访问问题,特此记录,以方便后续同学参考 解决 1、在阿里云OSS后台管理中,进入权限管理,进入跨域设置,添加跨...
    99+
    2024-04-02
  • 如何解决springcloud阿里云OSS文件访问跨域问题
    本篇内容介绍了“如何解决springcloud阿里云OSS文件访问跨域问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决在阿里云OSS后...
    99+
    2023-07-02
  • gulp解决跨域的配置文件问题
    废话不多说,直接上代码 //引入插件 var gulp = require('gulp'); // var Proxy = require('gulp-connect-proxy'); var conn...
    99+
    2022-06-04
    配置文件 gulp
  • ajax如何解决跨域访问遇到的问题
    这篇文章给大家分享的是有关ajax如何解决跨域访问遇到的问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ajax请求一个目标地址为非本域(协议、域名、端口任意一个不同)的web...
    99+
    2024-04-02
  • 服务器访问阿里云OSS失败的解决方法
    在使用阿里云OSS服务时,可能会遇到服务器无法访问OSS的情况。本文将详细介绍如何解决这种问题。 一、检查服务器网络连接首先,我们需要检查服务器的网络连接是否正常。如果网络连接不稳定或者网络速度慢,可能会导致服务器无法访问OSS。此时,我们...
    99+
    2023-11-23
    阿里 解决方法 服务器
  • gulp如何解决跨域的配置文件问题
    这篇文章主要介绍gulp如何解决跨域的配置文件问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码//引入插件 var gulp = require(...
    99+
    2024-04-02
  • 如何解决Vue开发环境跨域访问的问题
    小编给大家分享一下如何解决Vue开发环境跨域访问的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Vue开发环境跨域访问其他服...
    99+
    2024-04-02
  • ajax跨域请求js拒绝访问的问题如何解决
    本篇内容介绍了“ajax跨域请求js拒绝访问的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • Flex跨域访问沙箱问题的解决方案是什么
    Flex跨域访问沙箱问题的解决方案是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。当Flex访问WebService服务时,在本地能够正常访问,当部署到we...
    99+
    2023-06-17
  • SpringBoot跨域问题的解决方法实例
    谈到跨域问题,首先我们要认识一下浏览器的同源策略 百度百科对同源策略的解释 当一个浏览器的两个tab页中分别打开来 百度和谷歌的页面 当浏览器的百度tab页执行一个脚本的时候会检查...
    99+
    2024-04-02
  • Java实例讲解文件上传与跨域问题
    目录了解MultipartFile接口文件上传业务代码Controller类Service类修改nginx配置如何绕过网关1.在网关中配置白名单2.在nginx做转发解决上传文件出现...
    99+
    2024-04-02
  • Python的Django应用程序解决AJAX跨域访问问题的方法
    引子 使用Django在服务器端写了一个API,返回一个JSON数据。使用Ajax调用该API: <!DOCTYPE HTML> <html> <head> &...
    99+
    2022-06-04
    应用程序 方法 Python
  • 阿里云OSS访问权限配置(RAM权限控制)实现
    场景 需要将阿里云oss的某个bucket的指定目录授权给测试人员使用,比如指定 myBuket 的 static/material/ 目录。 测试人员通过ossbrowser工具来维护这个目录。 步骤 新建用户 在R...
    99+
    2022-06-04
    阿里云OSS访问权限 阿里云OSS RAM权限控制
  • 解决阿里云服务器IP无法访问的问题
    1. 检查网络连接 首先,确保您的苹果手机已连接到可用的网络。您可以尝试连接其他网络或使用移动数据来确认问题是否与网络连接有关。 2. 检查防火墙设置 阿里云服务器可能会有防火墙设置,导致IP无法访问。您可以登录到阿里云服务器管理控制台,...
    99+
    2023-10-28
    阿里 无法访问 服务器
  • 解决 PHP Session 跨域问题的最佳实践
    随着互联网的发展,前后端分离的开发模式越来越普遍。在这种模式下,前端与后端可能部署在不同的域名下,这就导致了跨域问题的出现。而在使用 PHP 的过程中,跨域问题也涉及到 Session 的传递与管理。本文将介绍PHP中解决 Session ...
    99+
    2023-10-21
    最佳实践 PHP Session 跨域问题
  • 阿里云ECS域名解析后无法访问问的解决策略
    本文主要介绍了阿里云ECS(Elastic ComputeService)域名解析后无法访问的问题,并提出了具体的解决策略。希望通过本文,读者可以更好地理解阿里云ECS,并能够解决常见的问题。 一、问题描述 阿里云ECS域名解析后无法访问,...
    99+
    2023-11-10
    阿里 域名解析 无法访问
  • SpringBoot+Spring Security无法实现跨域的问题如何解决
    本篇内容主要讲解“SpringBoot+Spring Security无法实现跨域的问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot+Spring Security...
    99+
    2023-06-20
  • 解决 Axios 跨域问题,轻松实现接口调用
    跨域是指访问另外一个域的资源,由于浏览器的同源策略,默认情况下使用 XMLHttpRequest 和 Fetch 请求时是不允许跨域的。跨域的根本原因是浏览器的同源策略,这是由浏览器对 JavaScript 施加的安全限制。 Axios...
    99+
    2023-10-25
    前端 后端 java json javascript
  • vue项目实现webpack配置代理,解决跨域问题
    目录webpack配置代理,解决跨域主要是这句话vue跨域问题,修改代理后仍404接口请求用法webpack配置代理,解决跨域 在config文件夹中的index.js文件配置 主要...
    99+
    2024-04-02
  • 阿里云服务器ip无法访问怎么解决问题
    如果您的阿里云服务器ip无法访问,可能有以下几个原因: 网络连接问题:连接不上服务器或网络连接超时:尝试重新加载页面,清除浏览器缓存或尝试重新连接服务器,检查网络状态。 服务器配置问题:可能是您的服务器IP地址配置不正确导致无法访问服务...
    99+
    2023-10-26
    阿里 解决问题 无法访问
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作