SpringBoot controller接收txt文本文件实现方式

 更新时间:2025年09月30日 08:46:59   作者:万能的小帅  
文章介绍在Spring Boot Controller中接收文本文件的方法,需使用MultipartFile类并通过@RequestParam注解获取,重点说明了获取文件名、内容及保存文件的常用方法,并强调MultipartFile为接口,需通过注解实例化

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!";
        }
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈Java设计模式系列-装饰器模式

    浅谈Java设计模式系列-装饰器模式

    这篇文章主要介绍了Java设计模式系列-装饰器模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • SpringBoot + Mybatis增删改查实战记录

    SpringBoot + Mybatis增删改查实战记录

    这篇文章主要给大家介绍了关于SpringBoot + Mybatis增删改查的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • java写入zip文件后无法进行删除的问题及解决

    java写入zip文件后无法进行删除的问题及解决

    这篇文章主要介绍了java写入zip文件后无法进行删除的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Java堆&优先级队列示例讲解(上)

    Java堆&优先级队列示例讲解(上)

    这篇文章主要通过示例详细为大家介绍Java中的堆以及优先级队列,文中的示例代码讲解详细,对我们了解java有一定帮助,需要的可以参考一下
    2022-03-03
  • spring boot 如何指定profile启动

    spring boot 如何指定profile启动

    这篇文章主要介绍了spring boot 如何指定profile启动的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 详解如何使用maven生成可以执行的jar

    详解如何使用maven生成可以执行的jar

    这篇文章主要介绍了详解如何使用maven生成可以执行的jar,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 关于SpringMVC中控制器如何处理文件上传的问题

    关于SpringMVC中控制器如何处理文件上传的问题

    这篇文章主要介绍了关于SpringMVC中控制器如何处理文件上传的问题,在 Web 应用程序中,文件上传是一个常见的需求,例如用户上传头像、上传文档等,本文将介绍 Spring MVC 中的控制器如何处理文件上传,并提供示例代码,需要的朋友可以参考下
    2023-07-07
  • Intellij IDEA远程debug教程实战和要点总结(推荐)

    Intellij IDEA远程debug教程实战和要点总结(推荐)

    这篇文章主要介绍了Intellij IDEA远程debug教程实战和要点总结(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • AsyncHttpClient ClientStats源码流程解读

    AsyncHttpClient ClientStats源码流程解读

    这篇文章主要为大家介绍了AsyncHttpClient ClientStats源码流程解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Springcloud实现服务多版本控制的示例代码

    Springcloud实现服务多版本控制的示例代码

    这篇文章主要介绍了Springcloud实现服务多版本控制的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论