OSS阿里云上传文件 前端js下载url跨域问题
场景:
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之类的等等,上网一搜一大堆。
OSS阿里云上传文件 前端js下载url跨域问题的更多相关文章
- django上课笔记7-jQuery Ajax 和 原生Ajax-伪造的Ajax-三种Ajax上传文件方法-JSONP和CORS跨域资源共享
一.jQuery Ajax 和 原生Ajax from django.conf.urls import url from django.contrib import admin from app01 ...
- vue 阿里云上传组件
vue 阿里云上传组件 Vue.js上传图片到阿里云OSS存储 测试项目git地址 本测试项目启动方法 示例链接 组件配置项 实践解释 本文主要介绍如何 在vue项目中使用web 直传方式上传阿里云o ...
- vue 百度云上传文件PostObject
百度云上传文件 API(PostObject) PostObject接口 : 接口描述 此接口使用HTML表单上传文件到指定bucket,用于实现通过浏览器上传文件到bucket.在PutObjec ...
- ajaxFileUpload上传文件后提示下载的问题
在某些版本浏览器下ajaxFileUpload上传文件会提示下载, 1:为什么? 可以观察到,即便返回 JsonResult 在返回的头中也没有任何消息体,直接理解为文本了. 2:解决方案 前端: f ...
- java后台简单从阿里云上传下载文件并通知前端以附件的形式保存
一. 首先开通阿里的OSS 服务 创建一个存储空间在新建一个Bucket 在你新建的bucket有所需的id和key 获取外网访问地址或者是内网 看个人需求 我使用的是外网(内网没用过 估计是部署到阿 ...
- Delphi阿里云对象存储OSS【支持上传文件、下载文件、删除文件、创建目录、删除目录、Bucket操作等】
作者QQ:(648437169) 点击下载➨Delphi阿里云对象存储OSS 阿里云api文档 [Delphi阿里云对象存储OSS]支持 获取Bucket列表.设置Bucket ...
- webuploader 上传文件 生成链接下载文件
最近 在asp.net MVC 项目 需要实现一个Excel和 图片上传功能.之前有使用过SWFUpload 做过上传图片功能,在本次实现过程中,有人推荐WebUploader 上传组件,因此采用we ...
- IE下AjaxForm上传文件直接提示下载的兼容性Bug
使用AjaxForm上传文件时候,在IE下直接提示下载保存: 我的示例代码: return this.Json( new { prop1 = 5, prop2 = 10 }); 这种问题只出现在IE下 ...
- IE中使用ajaxSubmit上传文件弹出下载提示框
使用jQuery的ajaxSubmit 上传文件时,在IE中会弹出下载提示框: 解决方法:让action返回String类型,而不是ActionView,
随机推荐
- Windows 下通过DOS命令获取指定文件夹下所有文件的全路径
1.在你要获取路径的文件夹下 新建文本文档 (.txt) 文件, 2.输入以下内容保存 DIR *.* /S/B >LIST.TXT /s 表示递归 3. 将文件后缀改成 .bat 4.双击运行 ...
- eolinker 安装时遇到的坑
Access denied for user 'root'@'localhost' (using password:YES) 从githup 上下载的代码,直接把release 里的文件发布到服务器上 ...
- MongoDB AUTH结果验证
创建超级管理员和普通用户 #创建超级管理员 super db.createUser( { user: "super", pwd: "super", role ...
- FileWriter向文件中写入内容
1.创建fileWriter对象 2.写入文件信息 3.关闭流 必须关闭流,否则将不能写入文件中 /** * * @author Administrator * 文件写入对象的使用 * */ publ ...
- 操作系统の实验四 windows中线程的创建和同步控制
摘要: 1.创建信号量 HANDLE CreateSemaphore( LPSECURITY_ATTIBUTES lpSemaphoreAttributes, LONG lInitialCount; ...
- SpringCloud系列------Eureka-Server
一.概述: Spring Cloud针对服务注册与发现,进行了一层抽象,并提供了三种实现:Eureka , Consul , Zookeeper 本篇文章只对Eureka 进行介绍: (部分内容引用 ...
- 一般xcode报错
下面这图报找不到FMDtabaseQueue,其实是把文件拖入xcode的时候xcode没有把.m文件添加进工程路径 解决办法:build phases-> compile sources &q ...
- jsonp 实现原理
Jsonp原理: 首先在客户端注册一个callback, 然后把callback的名字传给服务器. 此时,服务器先生成 json 数据.然后以 javascript 语法的方式,生成一个funct ...
- windows 安装mysql 5.7的正确姿势
1.首先上MySql的官网下载 https://dev.mysql.com/downloads/mysql/ 2. 以我所选版本为例(免安装版),选择MYSQL Community Server 然 ...
- logback-spring.xml 博客分享
https://juejin.im/post/5b51f85c5188251af91a7525