bard:
要在Spring Boot Controller中接收传入的文本文件,您需要使用 MultipartFile
类。这是Spring框架提供的一个类,用于处理文件上传相关操作。
以下是一个简单的例子,在Spring Boot Controller中接受传入的txt文件并打印文件名和文本内容:
@PostMapping("/uploadFile")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
try {
// 打印文件名
System.out.println("Received file: " + file.getOriginalFilename());
// 读取文件内容并打印
String content = new String(file.getBytes());
System.out.println("File content: " + content);
// 返回成功提示
return "File upload success!";
} catch (IOException e) {
e.printStackTrace();
// 返回失败提示
return "File upload failed!";
}
}
在上面的示例中,@RequestParam("file")
指示Spring从上传的文件中提取名为“file”的参数。然后,file
参数将作为 MultipartFile
对象传递给 handleFileUpload
方法。您可以通过调用 file.getOriginalFilename()
来获取上传文件的原始文件名,并通过调用 new String(file.getBytes())
读取文件内容。最后,如果上传成功,则返回“File upload success!”消息。
MultipartFile 类中各个方法详细用法说明:
MultipartFile是Spring框架中的一个接口,用于表示上传的文件。下面介绍一些MultipartFile中常用的方法。
-
getName():获取上传文件的名称。
-
getOriginalFilename():获取上传文件的原始名称。
-
getContentType():获取上传文件的MIME类型。
-
getBytes():获取上传文件的字节数组。
-
getSize():获取上传文件的大小(字节)。
-
isEmpty():判断上传文件是否为空。
-
transferTo(File dest):将上传文件保存到指定的文件系统中的File对象。
-
getResource():以Resource形式获取上传文件。
-
getInputStream():以InputStream形式获取上传文件的数据流。
除了以上常用方法,MultipartFile还有一些其他方法,可以根据具体需求灵活使用。需要注意的是,MultipartFile是Spring框架中的接口,需要在代码中进行实例化,常见的方式是在Controller的方法中使用@RequestParam注解获取上传文件,并将其注入MultipartFile类型的参数中。
代码实践:
@PostMapping("/uploadFile")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
try {
// 打印文件名
System.out.println("Received file: " + file.getOriginalFilename());
InputStreamReader isr = new InputStreamReader(file.getInputStream());
BufferedReader br = new BufferedReader(isr);
String str = null;
while ((str = br.readLine()) != null){
System.out.println(str);
}
System.out.println("----------------------------------------------");
// 读取文件内容并打印
String content = new String(file.getBytes());
System.out.println("File content: " + content);
// 返回成功提示
return "File upload success!";
} catch (IOException e) {
e.printStackTrace();
// 返回失败提示
return "File upload failed!";
}
}