我的 reactjs 前端有一个类型为 file 的输入字段。我想上传一个 CSV 文件并将其发送到我使用 SpringBoot 的服务器。一旦该文件被提取到我的后端,我就遇到了如何获取该文件的问题。这是我在渲染方法中的文件输入:<input accept=".csv" type="file" onChange={this.handleChange}/><Button primary onClick={this.handleSubmit}> Submit </Button>处理提交:handleSubmit(event) { event.preventDefault(); let formData = new FormData(); formData.append('file', this.state.csv); fetch('http://localhost:8080/ingest', { method: 'POST', body: formData }) .then((res) => { var promiseStatus = res.text(); promiseStatus.then(function (value) { console.log(value); }); })}我的后端控制器是@PostMapping(INGEST_URL)public String ingestDataFile(@RequestBody ??? response) { return "temporary return";}应该拿什么ingestDataFile()作为requestBody,比如说,打印文件的内容。
2 回答
一只斗牛犬
TA贡献1784条经验 获得超2个赞
参数应该是:
@PostMapping(INGEST_URL)
public String ingestDataFile(@RequestParam("file") MultipartFile file) {
System.out.println("Name is::: " + file.getName());
// Get file in byte[] using file.getBytes()
storeCSVInDbServer(file);
return "temporary return";
}
如果要将文件存储在数据库服务器中,可以将其存储在数据库的 BLOB 列中。
添加回答
举报
0/150
提交
取消