SpringBoot controller接收txt文本文件實現(xiàn)方式
bard
要在Spring Boot Controller中接收傳入的文本文件,您需要使用 MultipartFile類。這是Spring框架提供的一個類,用于處理文件上傳相關(guān)操作。
以下是一個簡單的例子,在Spring Boot Controller中接受傳入的txt文件并打印文件名和文本內(nèi)容:
@PostMapping("/uploadFile")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
try {
// 打印文件名
System.out.println("Received file: " + file.getOriginalFilename());
// 讀取文件內(nèi)容并打印
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”的參數(shù)。然后,file參數(shù)將作為 MultipartFile對象傳遞給 handleFileUpload方法。
您可以通過調(diào)用 file.getOriginalFilename()來獲取上傳文件的原始文件名,并通過調(diào)用 new String(file.getBytes())讀取文件內(nèi)容。
最后,如果上傳成功,則返回“File upload success!”消息。
MultipartFile 類中各個方法詳細用法說明
MultipartFile是Spring框架中的一個接口,用于表示上傳的文件。
下面介紹一些MultipartFile中常用的方法。
getName():獲取上傳文件的名稱。getOriginalFilename():獲取上傳文件的原始名稱。getContentType():獲取上傳文件的MIME類型。getBytes():獲取上傳文件的字節(jié)數(shù)組。getSize():獲取上傳文件的大?。ㄗ止?jié))。isEmpty():判斷上傳文件是否為空。transferTo(File dest):將上傳文件保存到指定的文件系統(tǒng)中的File對象。getResource():以Resource形式獲取上傳文件。getInputStream():以InputStream形式獲取上傳文件的數(shù)據(jù)流。
除了以上常用方法,MultipartFile還有一些其他方法,可以根據(jù)具體需求靈活使用。
需要注意的是,MultipartFile是Spring框架中的接口,需要在代碼中進行實例化,常見的方式是在Controller的方法中使用@RequestParam注解獲取上傳文件,并將其注入MultipartFile類型的參數(shù)中。
代碼實踐
@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("----------------------------------------------");
// 讀取文件內(nèi)容并打印
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!";
}
}
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- SpringBoot攔截器執(zhí)行后,Controller層不執(zhí)行的問題及解決
- SpringBoot中@RestControllerAdvice 全局異常處理的實現(xiàn)
- Springboot Controller接口默認自動填充業(yè)務(wù)實體參數(shù)值詳解
- SpringBoot之@Controller和@RequestMapping的實現(xiàn)原理解讀
- SpringBoot和MybatisPlus實現(xiàn)通用Controller示例
- SpringBoot如何實現(xiàn)調(diào)用controller和Service層方法
- springboot中的controller參數(shù)映射問題小結(jié)
- springboot中Controller內(nèi)文件上傳到本地及阿里云操作方法
相關(guān)文章
SpringBoot + Mybatis增刪改查實戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于SpringBoot + Mybatis增刪改查的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-05-05
關(guān)于SpringMVC中控制器如何處理文件上傳的問題
這篇文章主要介紹了關(guān)于SpringMVC中控制器如何處理文件上傳的問題,在 Web 應(yīng)用程序中,文件上傳是一個常見的需求,例如用戶上傳頭像、上傳文檔等,本文將介紹 Spring MVC 中的控制器如何處理文件上傳,并提供示例代碼,需要的朋友可以參考下2023-07-07
Intellij IDEA遠程debug教程實戰(zhàn)和要點總結(jié)(推薦)
這篇文章主要介紹了Intellij IDEA遠程debug教程實戰(zhàn)和要點總結(jié)(推薦),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
AsyncHttpClient?ClientStats源碼流程解讀
這篇文章主要為大家介紹了AsyncHttpClient?ClientStats源碼流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12
Springcloud實現(xiàn)服務(wù)多版本控制的示例代碼
這篇文章主要介紹了Springcloud實現(xiàn)服務(wù)多版本控制的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05

