iview Upload组件如何实现跨域文件上传?

新手上路,请多包涵

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':'*'},
阅读 5k
2 个回答

clipboard.png
因为你设置这个为true,他就会携带cookie凭证信息
对于附带身份凭证的请求,服务器不得设置 Access-Control-Allow-Origin 的值为“”。这是因为请求的首部中携带了 Cookie 信息,如果 Access-Control-Allow-Origin 的值为“”,请求将会失败。
也就是说Access-Control-Allow-Credentials设置为true的情况下
Access-Control-Allow-Origin不能设置为*

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题