我使用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>
    )
}


}

这是我给错误的图片。
javascript - Antd上传的Dragger组件上传跨域-LMLPHP

抱歉,我刚学会使用StackOverflow。如果我的描述不清楚,请让我知道,这个问题已经困扰了我很长时间了,谢谢。

最佳答案

此错误是谷歌浏览器的安全措施。当您在前端和后端使用2个不同的服务器时,它会出现。安装此库以对其进行修复:

NPM安装CORS
https://www.npmjs.com/package/cors

关于javascript - Antd上传的Dragger组件上传跨域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53376630/

10-11 14:39