OSS阿里云上传文件 前端js下载url跨域问题
2023-09-11 14:19:37 时间
场景:
1.后端上传文件至阿里云OSS,返回得到一个URL。
2.前端用这个URL下载文件,ajax请求异常:No 'Access-Control-Allow-Origin' header is present on the requested resource.
3.使用html <a> 标签直接可以下载
分析原因:
1.js和ajax什么的是看不见的易出错的,需要安全保护,用<a>标签是申请主动请求另外一个域名,浏览器就没有那个策略。
2.另外其实阿里云OSS也是可以配置的,有个管理页面专门可以配置跨域规则。
解决方案:
1.前端直接使用<a>标签,简单有效
2.去阿里云OSS后台管理界面设置跨域规则。(估计最终就是OSS后端接口会加上response.setHeader("Access-Control-Allow-Origin", "配置的域名");
)
3.当然还一些比较丑陋的方案:JSONP之类的等等,上网一搜一大堆。
相关文章
- 纯js实现最简单的文件上传(后台使用MultipartFile)
- Spring MVC程序中得到静态资源文件css,js,图片
- Bootstrap fileinput.js,最好用的文件上传组件
- node.js - 定义全局变量
- Jmeter_前端RSA加密下的登陆模拟_引用js文件实现(转)
- js实现打开本地文件或文件夹
- 使用grunt合并压缩js、css文件
- Knockout.Js官网学习(Mapping高级用法二)
- 流媒体测试笔记记录之————解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了
- 【COCOS2DX-LUA 脚本开发之十二】HYBRID模式-利用ASSETSMANAGER实现在线更新脚本文件LUA、JS、图片等资源(免去平台审核周期)
- [Node.js] Using ES6 and beyond with Node.js
- 教你js生成二维码-QrCodeJS
- 使用Fiddle修改在线加载的前端框架js文件,用于各种调试目的
- 在 Node.js 里使用 multiparty 上传文件
- Atitit 按照行读取文件 目录 1.1. 类库'readline'1 1.2. 类库C:0workspacedataindexGenerNodejssdkioFileUtils.js
- Atitit 文件上传 架构设计 实现机制 解决方案 实践java php c#.net js javascript c++ python
- Atitit.js获取上传文件全路径
- js中的回调地狱
- 【 D3.js 进阶系列 — 1.0 】 CSV 表格文件的读取
- MVC js动态生成from提交数据然后生成文件下载
- js c++ 多值返回 返回多个值 c++ tuple
- 【JS高级】js之正则相关函数以及正则对象_02
- JS数据类型转换完全攻略