springboot通过gateway转发请求上传xlsx文件报错,Your InputStream was neither an OLE2 stream, nor an OOXML stream
时间: 2024-01-14 09:19:56 浏览: 203
springboot 解决InputStream只能读取一次的问题
5星 · 资源好评率100%
这个错误通常是因为上传的文件格式不正确导致的。可能是因为上传的文件不是Excel文件,或者是一个旧版本的Excel文件。您可以尝试使用以下方法解决这个问题:
1. 确保上传的文件是一个正确的Excel文件,可以尝试手动打开文件并查看是否可以正常打开。
2. 确保您正在使用正确的poi版本。如果您正在使用旧版本的poi,可能会导致无法读取新版本的Excel文件。您可以尝试升级poi版本并重新运行代码。
3. 如果您正在使用的是旧版本的Excel文件,请尝试将其另存为新版本的Excel文件,然后再次尝试上传。
以下是一个使用Spring Boot和Gateway上传Excel文件的示例代码:
```java
@RestController
public class FileUploadController {
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
try {
InputStream is = file.getInputStream();
Workbook wb = WorkbookFactory.create(is);
// 处理Excel文件
return "上传成功";
} catch (IOException | InvalidFormatException e) {
e.printStackTrace();
return "上传失败:" + e.getMessage();
}
}
}
```
阅读全文