springboot上传文件到服务器

使用Spring Boot可以轻松实现文件上传到服务器。需要在项目中引入相关依赖,然后配置MultipartResolver和WebMvcConfigurerAdapter。接下来,创建一个控制器类,处理文件上传请求,并将文件保存到指定的目录。通过前端页面或API调用该控制器方法,实现文件上传功能。

在Spring Boot中,上传文件到服务器可以通过以下步骤实现:

成都创新互联公司主营宁武网站建设的网络公司,主营网站建设方案,重庆APP软件开发,宁武h5微信平台小程序开发搭建,宁武网站营销推广欢迎宁武等地区企业咨询

1、添加依赖

在项目的pom.xml文件中添加Spring Boot Web和Apache Commons FileUpload的依赖:


    
        org.springframework.boot
        spring-boot-starter-web
    
    
        commons-fileupload
        commons-fileupload
        1.4
    

2、创建文件上传控制器

创建一个名为FileUploadController的类,并使用@RestController注解标记,在这个类中,定义一个处理文件上传的方法,方法的参数是一个MultipartFile类型的对象,表示上传的文件,在方法内部,可以使用MultipartFile对象的getOriginalFilename()方法获取文件名,getSize()方法获取文件大小,以及transferTo()方法将文件保存到服务器的指定目录。

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
@RestController
public class FileUploadController {
    @PostMapping("/upload")
    public String upload(@RequestParam("file") MultipartFile file) {
        if (file.isEmpty()) {
            return "文件为空";
        }
        String fileName = file.getOriginalFilename();
        String filePath = "/your/server/directory/" + fileName;
        File dest = new File(filePath);
        try {
            file.transferTo(dest);
            return "文件上传成功";
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "文件上传失败";
    }
}

3、配置跨域访问

由于浏览器的安全限制,需要配置跨域访问才能实现文件上传,在项目的主类中添加一个WebMvcConfigurerAdapter的子类,并重写addCorsMappings方法,允许所有域名进行跨域访问。

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                .maxAge(168000)
                .allowedHeaders("*");
    }
}

4、测试文件上传功能

启动项目后,可以使用Postman或其他HTTP客户端工具向/upload接口发送POST请求,携带一个名为file的文件参数,如果文件上传成功,服务器会返回"文件上传成功"的消息,如果文件上传失败,服务器会返回"文件上传失败"的消息,可以在指定的服务器目录中找到上传的文件。

相关问题与解答:

1、为什么需要添加Apache Commons FileUpload依赖?

答:因为Spring Boot本身不包含处理文件上传的功能,需要使用第三方库来实现,Apache Commons FileUpload是一个常用的Java文件上传库,可以方便地处理文件上传。

2、为什么要配置跨域访问?

答:由于浏览器的安全限制,不同域名之间的请求默认是不允许携带资源的,为了实现文件上传功能,需要允许其他域名进行跨域访问,通过配置跨域访问,可以解决这个问题。

分享题目:springboot上传文件到服务器
URL链接:http://www.shufengxianlan.com/qtweb/news15/540865.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联