springboot文件上传

在前端网页要进行页面上传需具备三个条件
1. post提交
2.具备file组件
3.设置表单的enctype="mutipart/form-data"(二进制提交) , 默认表单的entype是x-www-urlencoding

<form action="/creat" method="post" enctype="multipart/form-data">
   <div>
    <input type="file" id="phone" name="photo"/><input type="submit"/>
   </div>
</form>

在Controller中 使用MultipartFile接口 接收参数 ,为防止重名可用时间戳来定义文件名;通过FileCopyUtils文件操作类来将文件进行复制


@Controller
public class fileController {

    @PostMapping( value = "/creat")
    public String creat(@RequestParam("photo") MultipartFile photo) throws Exception {//MultipartFile是上传文件接口,对应了保存的临时文件;参数名与前端name保持一致

        String path="d:/upload";
        //防止文件重名覆盖,定义时间戳加在文件名之前
        String filename= new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
        //截取至最后一个 . 也就是把后缀前面给截去掉
        String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf("."));
        //判断上传的文件格式
    if(suffix!="jpg"){
        throw new RuntimeException("图片格式异常");
    }
        FileCopyUtils.copy(photo.getInputStream(),new FileOutputStream(path+"/"+filename+suffix));
        return "end";
    }
}

 配置最大文件上传尺寸

#单个文件最大上传尺寸 (默认2MB)
spring.servlet.multipart.max-file-size=10
#一次请求与最大上传尺寸 (默认10B)
spring.servlet.multipart.max-request-size=50

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot中实现文件上传非常简单。首先,你需要在项目的依赖中添加spring-boot-starter-web。然后,你可以通过配置文件来对文件上传进行一些基本的配置。例如,你可以设置是否开启文件上传支持、文件写入磁盘的阈值、上传文件的临时保存位置、上传的单个文件的最大大小以及多文件上传时文件的总大小等。\[1\] 对于单文件上传,你可以创建一个HTML表单,使用enctype="multipart/form-data"来指定表单的编码类型,并使用<input type="file">来选择文件。然后,你可以在后端编写一个处理文件上传的接口,通过@RequestParam注解来获取上传的文件。\[2\] 对于多文件上传,你可以创建一个HTML表单,使用相同的方式来选择多个文件。然后,你可以在后端编写一个处理多文件上传的接口,通过@RequestParam注解来获取上传的文件列表。\[2\] 在Spring Boot中,如果你没有提供MultipartResolver,那么默认采用的MultipartResolver就是StandardServletMultipartResolver。因此,你甚至可以实现零配置的文件上传。\[3\] 总结起来,Spring Boot提供了简单而强大的功能来实现文件上传,你只需要添加依赖、进行一些基本的配置,然后在后端编写相应的接口即可实现文件上传功能。 #### 引用[.reference_title] - *1* *2* *3* [SpringBoot文件上传](https://blog.csdn.net/qq_43581790/article/details/123811775)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值