21xrx.com
2025-03-21 00:46:44 Friday
文章检索 我的文章 写文章
Java实现文件上传功能
2023-06-15 17:42:29 深夜i     13     0
Java 文件上传 文件保存路径

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

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

File Upload
   
 

   
 File Upload
   
 
      
  
         Choose 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/,也可以根据自己的需要修改。

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

  
  

评论区