HTML5提供了一个新方法,就是input的file类型可以直接用来上传文件。上传文件用FormData来获取上传的内容。
以下是相关代码:
<form ref="formVolume">
<input type="file" name="basicSkuList" className="hide"
onChange={event=>{this.handleImport(event);event.target.value=null}}/>
<span className="ace-file-name">上传</span>
</form>
handleImport(event) {
var file = event.target.files[0];
var formdata = new FormData();
formdata.append('basicSkuList', file);
if (file.size > 1048576) {
jQuery.gritter.add({
title: "文件大小限制为1MB,请修改后再上传!",
time: '3000',
class_name: 'gritter-error gritter-center'
});
return
}
......
}
其中FormData可以把form中所有表单元素的name与value组成一个queryString,提交到后台。因此可以根据入参的需要自己设置。