我想将包含学生数据的csv文件转换为列表,然后插入数据库。我浏览了来自不同来源的许多示例,它们都没有提供使用 spring batch 从Web UI上传的批处理csv文件的答案。所有示例都处理位于资源文件夹(类路径)中的csv文件。 请帮助我处理使用以下发布方法上传的csv文件。
@PostMapping("/save")
public ResponseEntity saveStudentDetails(@RequestParam("file") MultipartFile studentCSV) {
//code to initate batch processing for studentCSV file
}
谢谢。
答案 0 :(得分:2)
控制器
@RequestMapping(method = RequestMethod.POST, value = "/save")
public ReturnFormat uploadCSV(@RequestParam("files") MultipartFile file )
{
return uploadingService.uploadCSV( file );
}
服务类别将类似于
public void uploadCSV (MultipartFile multipartFile)
{
ReturnFormat rf = new ReturnFormat();
SuccessErrorList selist = new SuccessErrorList();
try
{
File file = convertMultiPartToFile( multipartFile );
}
private File convertMultiPartToFile( MultipartFile file ) throws IOException
{
File convFile = new File( file.getOriginalFilename() );
FileOutputStream fos = new FileOutputStream( convFile );
fos.write( file.getBytes() );
fos.close();
return convFile;
}