在使用阿里云OSS服务时,会用到跨域AJAX上传,上传时报403错误,之前深圳软件开发遇到过此类问题并成功解决了,但时间长了遗忘,因此记录下来以备后续学习了解ajax跨域上传OSS。
ajax跨域上传首先会发送options请求,成功后再进行上传,那么,如何解决阿里云OSS跨域AJAX上传OPTIONS请求403问题?只需简单设置,流程如下:
进入存储空间(Bucket) ——> 基础设置 ——> 跨域设置 ——> 添加规则,进入下图所示
阿里云OSS跨域AJAX上传OPTIONS请求403问题
设置以上规则后,就成功解决了阿里云OSS跨域AJAX上传OPTIONS请求403问题。
也可以参考uni.uploadFile h5上传文件失败完美解决方案,大致问题基本一样。
用浏览器使用JS进行表单上传(PostObject)的时候主要经历了以下几个步骤:
1. 发OPTIONS请求给OSS,如果这个时候OSS响应403,则上传终止
2. 如果通过了OPTIONS请求,才会进行真正的PostObject
所以本文介绍从创建bucket开始到设置CORS,到通过浏览器以表单的形式直接上传到OSS。
前提条件: 假设你已经有了OSS的ID和KEY,并且本地有一个HTTP Server