react中使用formdata获取不了表单要上传的文件?react中应该怎么上传文件?
1、在react中有个form表单,包含text,radio和file,可是js代码创建formDate时获取不到file的信息,请问该怎么去获取。
2、代码如下:
render的代码:
<form ref="addForm" className="addForm" id="addForm" enctype="multipart/form-data" method="post">
<div className="formType" >
<label htmlFor="type" className="col-sm-1 control-label">物料类型</label>
<input type="radio" name="type" value="1" checked={this.state.type =="1"} onChange={this.handleChange} />图片
<input type="radio" name="type" value="2" checked={this.state.type =="2"} onChange={this.handleChange} />视频
</div>
<div className="formWidth">
<label htmlFor="materialWidth">物料宽</label>
<input type="text" id="materialWidth" name="width" value={this.state.width} onChange={this.handleChange} placeholder="物料宽度" />
</div>
<div className="formHeight">
<label htmlFor="materialHeight">物料高</label>
<input type="text" id="materialHeight" name="height" value={this.state.height} onChange={this.handleChange} placeholder="物料高度" />
</div>
<div className="formUpload">
<label htmlFor="uploadMaterial">上传文件</label>
<input ref="material" id="uploadMaterial" name="files" type="file" />
</div>
<div className="submit">
<button type="button" className="btn btn-success" onClick={(event)=>{this.handleSubmit(event)}}>提交</button>
</div>
</form>
js的代码:
getInitialState: function() {
return {
type: "",
width:"",
height:"",
"tab":"explain"
};
},
handleChange: function(event) {
var newState={};
newState[event.target.name]=event.target.name=="checked"?event.target.checked:event.target.value;
this.setState(newState);
},
handleSubmit: function(event){
var formDate = new FormData($("#addForm")[0]);
}
只取到这三个值:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
用了append方法,把上传的文件添加到FormData里面