让 React 支持整个文件夹上传

因为 React 目前不支持非标准的属性,所以要能上传整个文件夹得稍微复杂点。

ReactJS ES6 已经不支持 mixins 了,所以 mixins 的方法就不写出来了。

首先在 render 函数里的 input 类似这样

<input type='file' ref='customAttributes'/>

然后再这样

componentDidMount(){
  var input = ReactDOM.findDOMNode(this.refs.customAttributes)
  input.setAttribute('webkitdirectory', '')
  input.setAttribute('directory', '')
  input.setAttribute('multiple', '')
}

你的 input 现在就可以选择整个文件夹了,不用再一个个文件选中上传。