21xrx.com
2024-09-17 03:34:54 Tuesday
登录
文章检索 我的文章 写文章
Java实现文件上传功能
2023-06-15 17:42:29 深夜i     --     --
Java 文件上传 文件保存路径

文件上传是Web开发中常见的功能之一,本文将介绍利用Java实现文件上传的方法。为了方便演示,我们使用Spring Boot框架来搭建Web应用程序,用Thymeleaf模板引擎进行前端页面展示。

我们先来看一下前端页面,这里使用了Bootstrap框架来美化布局。用户可以选择要上传的文件然后点击上传按钮:


  

   File Upload

  

  

File Upload

  

    

      

      

    

    

  

接下来是后端代码的实现。我们先定义一个Controller,用于处理文件上传请求,从request中读取文件并保存到本地磁盘:


@Controller

public class UploadController {

  @PostMapping("/upload")

  public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {

    String fileName = file.getOriginalFilename();

    String filePath = "C:/uploads/";

    File dest = new File(filePath + fileName);

    file.transferTo(dest);

    return "upload-success";

  }

}

上面这段代码中,@PostMapping注解指定了处理POST请求的方法,@RequestParam("file")注解用于读取前端页面中上传的文件,MultipartFile对象即为上传的文件,我们可以通过它的getName()、getSize()、getContentType()等方法获取一些文件相关的信息。最后,在本地磁盘上创建一个文件对象dest,调用file.transferTo(dest)方法即可将上传的文件保存到本地。

为了方便观看上传成功的页面,我们也需要定义一个success页面:


  

   Success

  

  

Upload Success

  Back to upload

最后,我们需要在Spring Boot的启动类上添加一个配置(记得修改上传文件的保存路径):


@SpringBootApplication

public class MyApp {

  public static void main(String[] args) {

    SpringApplication.run(MyApp.class, args);

  }

  @Bean

  public MultipartConfigElement multipartConfigElement() {

    MultipartConfigFactory factory = new MultipartConfigFactory();

    factory.setLocation("C:/uploads/");

    return factory.createMultipartConfig();

  }

}

配置类的作用是指定文件上传的保存路径,这里我们设置为C:/uploads/,也可以根据自己的需要修改。

到这里,我们就完成了文件上传功能的实现。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复