reactjs如何从表单输入多个文件
2016-05-27
30332
我有一个类似这样的组件:
class Media extends Component {
render() {
return (
<form className="uploader" encType="multipart/form-data">
<input type="file" id="file" />
</form>
)
}
}
export default Media
在这里我想上传多个
file
。在
HTML
中,我们可以这样做
<input type="file" name="img" multiple>
如何在
reactjs
中拥有
multiple
值?
提前谢谢您
更新
class Media extends React.Component {
handleChange(e) {
console.log(e.target.value)
}
render() {
return (
<form className="uploader" encType="multipart/form-data">
<input type="file" id="file" multiple onChange={this.handleChange.bind(this)}/>
</form>
)
}
}
ReactDOM.render(
<Media />,
document.getElementById('container')
);
在这里,如果我上传图像并且值发生变化,我只能获得第一张图片,如何获取所有上传的图片?
2个回答
您可以在 React 中执行相同操作。您可以在
此处
找到可使用的
attributes
class Media extends React.Component {
render() {
return (
<form
className="uploader"
encType="multipart/form-data"
>
<input type="file" id="file" multiple />
</form>
)
}
}
ReactDOM.render(
<Media /> ,
document.getElementById('container')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="container"></div>
Oleksandr T.
2016-05-27
属性
multitple
以前可能有效,但不幸的是,在我的 ReactJS 版本(16.8.4)中它无法工作 - 但使用属性
webkitdirectory=“true”
可以工作。
class Media extends React.Component {
render() {
return (
<form
className="uploader"
encType="multipart/form-data"
>
<input
type="file"
id="file"
webkitdirectory="true"
/>
</form>
)
}
}
ReactDOM.render(
<Media /> ,
document.getElementById('container')
);
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="container"></div>
NorahKSakal
2019-03-18