iview upload 组件上传
问题描述
其他接口都没有问题,服务器端已经设置了跨域header 并且 其他ajax 请求接口都运行正常,唯独upload 组件文件上传会提示跨域问题
相关代码 错误提示
Access to XMLHttpRequest at 'http://149.60.61.206/api/v1/u...' from origin 'http://localhost:8081' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
代码
<Upload
type="drag"
name="imgs"
:action="uploadUri"
:on-success="handleUploadSuccess"
:with-credentials="true"
:headers=headers
:format="['jpg','jpeg','png','gif']"
>
<div style="padding: 20px 0">
<Icon type="ios-cloud-upload" size="52" style="color: #3399ff"></Icon>
<p>点击或者拖拽上传</p>
</div>
</Upload>
uploadUri:this.$baseUri+"api/v1/uploader/imageUpload/",
headers:{'Access-Control-Allow-Origin':'*'},
因为你设置这个为true,他就会携带cookie凭证信息
对于附带身份凭证的请求,服务器不得设置 Access-Control-Allow-Origin 的值为“”。这是因为请求的首部中携带了 Cookie 信息,如果 Access-Control-Allow-Origin 的值为“”,请求将会失败。
也就是说Access-Control-Allow-Credentials设置为true的情况下
Access-Control-Allow-Origin不能设置为*