我使用create-react-app进行前端操作,并在antd上传文件中使用Dragger组件。我的后端是springboot。我的前端使用提取将请求数据发送到后端,这将导致跨域问题。所以我在create-react-app:“ http://localhost:8080”的package.json文件中添加了“代理”来代理我的后端,这解决了跨域的麻烦,但是当我使用antd官方网站时,上载者的Dragger组件总是上传时报告错误。
这是我使用Antd的Dragger的代码。
import React, { Component } from 'react';
import { Upload, Icon, message } from 'antd';
import './UpVideo.css';
const Dragger = Upload.Dragger;
导出默认类UpVideo扩展Component {
render(){
const props = {
name: 'file',
multiple: false,
headers:{
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods':'POST',
},
action: 'http://localhost:8080/vidoe/up',
onChange(info) {
// const status = info.file.status;
console.log(info);
// if (status !== 'uploading') {
// console.log(info.file, info.fileList);
// }
// if (status === 'done') {
// message.success(`${info.file.name} file uploaded successfully.`);
// } else if (status === 'error') {
// message.error(`${info.file.name} file upload failed.`);
// }
},
};
return(
<div>
<Dragger {...props}>
<p className="ant-upload-drag-icon">
<Icon type="inbox" />
</p>
<p className="ant-upload-text">点击或者拖动视频文件到这里</p>
</Dragger>,
</div>
)
}
}
这是我给错误的图片。
抱歉,我刚学会使用StackOverflow。如果我的描述不清楚,请让我知道,这个问题已经困扰了我很长时间了,谢谢。
最佳答案
此错误是谷歌浏览器的安全措施。当您在前端和后端使用2个不同的服务器时,它会出现。安装此库以对其进行修复:
NPM安装CORS
https://www.npmjs.com/package/cors
关于javascript - Antd上传的Dragger组件上传跨域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53376630/