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

这篇具有很好参考价值的文章主要介绍了springcloud:解决阿里云OSS文件访问跨域问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引言

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

解决

1、在阿里云OSS后台管理中,进入权限管理,进入跨域设置,添加跨域规则,设置来源为*
oss跨域,BUG调试,技术分享,阿里云,缓存,云计算
图片来源于https://blog.csdn.net/strugglerookie/article/details/119417281

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

于是我们需要将缓存禁用掉,如果文件就一两个的话,可以直接在后台中设置禁用缓存,将HTTP头中Cache-Control设置为no-cache
oss跨域,BUG调试,技术分享,阿里云,缓存,云计算

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

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

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

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

其次我们观察该依赖包提供的上传文件接口,会发现其中有一个方法可以设置ObjectMetadata
oss跨域,BUG调试,技术分享,阿里云,缓存,云计算

ObjectMetadata中是可以设置Header的
oss跨域,BUG调试,技术分享,阿里云,缓存,云计算
那么解决的方法就很清晰了,我们只需要在调用该文件上传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的响应头了。
oss跨域,BUG调试,技术分享,阿里云,缓存,云计算文章来源地址https://www.toymoban.com/news/detail-789913.html

到了这里,关于springcloud:解决阿里云OSS文件访问跨域问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云OSS对象存储使用临时URL访问,并对下载文件重命名

    如何使用临时授权的url访问云对象地址,又如何通过该URL下载自定义的文件名。 下面是两个内容点: 1.直接获取临时url,这个跟官方的差不多,基本上照搬即可。 2.获取临时url,并且可以对下载文件重命名。 java SDK版本 3.5.0 官方文档 oss java sdk 举例 直接使用临时URL访问,这里可

    2024年02月09日
    浏览(60)
  • vue前端下载阿里oss超大文件的问题

    最近在开发一个大文件压缩下载需求,由于附件都是从阿里oss上下载,且一次下载多个文件,然后进行打包压缩,前期使用了axios+jszip+file-saver 来进行处理,但是当文件超过3个G的时候会出现out of memory和RangeError: Array buffer allocation failed错误。 下面贴出代码:   使用常用的 a

    2024年02月11日
    浏览(47)
  • SpringBoot整合阿里云OSS文件存储解决方案

    🧑‍💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:SpringBoot实战 以下是专栏部分内容,更多内容请前往专栏查看! 标题 一文带你学会使用SpringBoot+Avue实现短信通知功能

    2024年02月08日
    浏览(39)
  • 阿里云OSS 203 Non-Authoritative Information问题解决

    203 Non-Authoritative Information 1、跨域问题,阿里云OSS没有配置跨域规则。 解决办法请参考以下博客。 阿里云OSS No ‘Access-Control-Allow-Origin‘ header is present on the requested resource问题解决_旭东怪的博客-CSDN博客 来源:指定允许的跨域请求的来源。Allowed Methods:指定允许的跨域请求方

    2024年02月02日
    浏览(37)
  • vue 在页面中使用阿里云oss网络图片,解决图片不显示的问题

    最近有一个线上抽奖的H5项目,为防止大量用户同时访问服务器而发生页面崩溃问题,前端尽量减少页面图片对服务器的请求,准备将页面中的图片都放到阿里云的oss中并购买cdn加速服务,减少服务器处理请求的压力。 但是将图片路径换成网络图片路径后,页面标签的图片和

    2024年02月07日
    浏览(79)
  • 阿里云对象存储OSS配置自定义域名、CDN加速及设置跨域

    采用阿里云OSS服务,对资源文件管理和提供全球化CDN服务 OSS官方文档   OSS每次发布涉及的功能变更及对应的文档_对象存储 OSS-阿里云 https://help.aliyun.com/document_detail/114894.html 开通对象存储OSS服务       如果域名不是托管给阿里云管理,不能勾选自动添加CNAME记录。 需要手动

    2023年04月09日
    浏览(47)
  • 阿里云对象存储OSS使用 HTTPS访问

    ​ 在部署项目的时候遇到了一个问题,就是https页面访问http资源报错的问题。 问题: 写了一个前端项目在云服务器部署,我的域名申请了ssl证书并在云服务器nginx部署,所以 页面是https页面 ,但是该项目中使用的图片资源是阿里云OSS的 http资源 (阿里云OSS资源本可以通过ht

    2024年02月10日
    浏览(46)
  • 【阿里云OSS】golang实现 添加文件到OSS | OSS批量删除bucket下指定的文件夹以及内部的文件

    我们需要将文件上传到本地的服务器内

    2024年02月10日
    浏览(52)
  • 阿里云OSS文件上传

    需求分析:实现文件上传与下载 ,与SprinCloud Alibaba整合 步骤一:注册帐号 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台  第二步:创建Bucket  第三步,创建Accesskey  注意:创建时候一定记得复制帐号密码,密码只在创建成功后显示一次! 第四步:安装对象存储

    2024年01月24日
    浏览(58)
  • 文件上传对接阿里云OSS

    1.首先注册登陆阿里云,在产品里找到oss服务  2.点击开通oss服务后,可以看到oss服务面板  3.创建一个Bucket文件存储桶 Bucket 相当于 dir =bbs/avatar 用作文件隔离 4.java对接oss服务 找到java SDK 5.导入SDK的依赖  如果使用的是Java 9及以上的版本,则需要添加jaxb相关依赖。添加jaxb相关

    2024年02月05日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包