html怎么通过js用ajax上传excel文件并能在Java后端接收到
时间: 2024-02-06 19:11:47 浏览: 165
要在HTML中通过JS用AJAX上传Excel文件并在Java后端接收到,可以使用FormData对象和XMLHttpRequest对象结合AJAX技术。
在HTML页面中,添加一个input标签,type属性设置为file,用于选择文件:
```html
<input type="file" id="fileInput">
```
然后在JS中,获取选择的文件,创建FormData对象,并将文件添加到FormData中:
```javascript
let fileInput = document.getElementById('fileInput');
let file = fileInput.files[0];
let formData = new FormData();
formData.append('file', file);
```
接下来,创建XMLHttpRequest对象,使用AJAX技术发送FormData对象:
```javascript
let xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
};
xhr.send(formData);
```
在Java后端中,可以使用Spring MVC框架的MultipartFile接收文件:
```java
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
// 处理上传的文件
return "success";
}
```
需要注意的是,在使用AJAX上传文件时,需要设置以下两个属性:
```javascript
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('Content-Type', 'multipart/form-data');
```
其中,第一个属性指定发送的请求为AJAX请求,第二个属性指定发送的数据类型为表单数据。
阅读全文