使用ReactJS和Node上传文件

时间:2018-04-24 02:54:40

标签: node.js file upload

我正在尝试使用React和Node / Express上传文件。正如Postman测试的那样,节点部分正常工作。但是,我似乎无法对正确发送文件做出反应。以下是我的代码。

反应

class AddDocumentModal extends Component{
constructor(props){
    super(props)
    this.state = {
        file: null
    }
    this.onChange = this.onChange.bind(this)
    this.fileUpload = this.fileUpload.bind(this)
}
onChange(e){
    this.setState({
        file:e.target.files
    })
    console.log(this.state.file)
}

fileUpload(event){
    console.log(this.state.file)
    let formData = new FormData()
    formData.append('file',this.state.file)
    let fetchURL = this.props.baseURL + "uploadFile"
    let fetchOptions = {
        method: "post",
        body:formData
    }
    console.log(fetchOptions)
    fetch(fetchURL,fetchOptions).then(result=>{
        console.log(result)
    })
}

节点

exports.uploadFile = (req,res)=>{
console.log(req.files);
let file = req.files.file;

file.mv(`${__dirname}/public/${file.name}`, function(err) {

    if (err) {
      return res.status(500).send(err);
    }

    res.json({file: `public/${file.name}`});
  });
}

req.body和req.files都是空集。有什么建议?

0 个答案:

没有答案