public Boolean imp(HttpServletRequest request) throws Exception {
InputStream inputStream = request.getInputStream();
ExcelReader reader = ExcelUtil.getReader(inputStream);
代码是这样的 没有用spring框架 MultipartFile这就没用 然后我通过request.getInputStream();获取
用的是hutool 我想问不用MultipartFile用什么来接受excel文件
Hutool只是处理流的工具,它没法映射参数
你是用servlet写的嘛
您好。文件上传需要引入 commons-fileupload-1.4.jar 和 commons-io-2.6.jar 。
然后在后台代码处理文件上传就可以了。
public String upload(HttpServletRequest request, HttpServletResponse response) {
ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
servletFileUpload.setHeaderEncoding("utf-8");
String filename = null;
String description = null;
try {
List<FileItem> fileItems = servletFileUpload.parseRequest(request);
for (FileItem fileItem : fileItems) {
if (fileItem.isFormField()) {
description = fileItem.getString("utf-8");
} else {
File dirPath = new File(request.getServletContext().getRealPath("upload"));
if (!dirPath.exists()) {
dirPath.mkdir();
}
filename = System.currentTimeMillis() + "-" + fileItem.getName();
String path = dirPath + File.separator + filename;
// IO流处理
BufferedInputStream bis = new BufferedInputStream(fileItem.getInputStream());
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path));
byte[] bs = new byte[8192];
int size = 0;
while ((size = bis.read(bs)) != -1) {
bos.write(bs, 0, size);
}
bos.close();
bis.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
FileService fileService = new FileServiceImpl();
FileInfo newFile = new FileInfo();
newFile.setFileName(filename);
newFile.setFilePath(request.getContextPath() + File.separator + "upload" + File.separator + filename);
newFile.setDescription(description);
boolean result = false;
try {
result = fileService.addFile(newFile);
} catch (Exception e) {
e.printStackTrace();
}
return result ? "r:/file?methodName=fileList" : "/upload.jsp";
}
具体看这篇博客:
https://blog.csdn.net/zgphacker2010/article/details/124520408