是否可以使用 Spring Batch 处理从 Web 应用程序上传的 Multipart CSV 文件?
Posted
技术标签:
【中文标题】是否可以使用 Spring Batch 处理从 Web 应用程序上传的 Multipart CSV 文件?【英文标题】:Is it possible to process Multipart CSV File uploaded from web application using Spring Batch? 【发布时间】:2019-04-15 02:50:30 【问题描述】:我想将包含学生数据的 csv 文件转换为 List 并插入数据库。我浏览了许多来自各种来源的示例,但没有一个为 使用 spring batch 批量处理从 Web UI 上传的 csv 文件 提供答案。所有示例都处理位于资源文件夹(类路径)中的 csv 文件。 请帮我处理使用 Post 方法上传的 csv 文件,如下所示。
@PostMapping("/save")
public ResponseEntity saveStudentDetails(@RequestParam("file") MultipartFile studentCSV)
//code to initate batch processing for studentCSV file
提前致谢。
【问题讨论】:
【参考方案1】:控制器
@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;
【讨论】:
感谢您的回复。但我想将学生 csv 转换为学生列表并将其上传到数据库。 我有一个从 CSV 上传问题的代码。你想看看吗?以上是关于是否可以使用 Spring Batch 处理从 Web 应用程序上传的 Multipart CSV 文件?的主要内容,如果未能解决你的问题,请参考以下文章
迁移到 Spring Boot 2 并使用 Spring Batch 4