前端如何调用@RestController @RequestMapping("/excel") public class ImportController { @Resource private ExcelComponent excelComponent; @PostMapping("/import-person") public Boolean importPersonFile(@RequestParam("file") MultipartFile file) throws IOException { excelComponent.importPersonFile(file); return true; }
时间: 2023-05-30 07:07:35 浏览: 177
前端可以通过发送一个POST请求来调用这个接口,请求的url应该是"/excel/import-person",同时还需要传递一个名为"file"的参数,这个参数的值应该是一个文件对象。具体的代码示例可以参考下面的代码:
```javascript
// 导入文件的函数
function importFile(file) {
// 创建一个FormData对象
const formData = new FormData();
// 将文件添加到FormData中
formData.append('file', file);
// 发送POST请求
fetch('/excel/import-person', {
method: 'POST',
body: formData
})
.then(response => response.json())
.then(result => {
if (result === true) {
// 导入成功
alert('导入成功!');
} else {
// 导入失败
alert('导入失败!');
}
})
.catch(error => {
console.error(error);
alert('发生错误!');
});
}
// 监听文件选择框的change事件
document.querySelector('#file-input').addEventListener('change', event => {
const file = event.target.files[0];
if (file) {
importFile(file);
}
});
```
这段代码假设页面上有一个id为"file-input"的文件选择框,当用户选择了一个文件后,就会调用importFile函数来上传文件。注意,这里使用了fetch函数来发送请求,如果需要兼容老的浏览器,可以考虑使用XMLHttpRequest来发送请求。
阅读全文