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 IOException {//MultipartFile是上传文件接口,对应了保存的临时文件;参数名与前端name保持一致
         //设置保存路径
        String path="d:/upload";
        //防止文件重名覆盖,定义时间戳加在文件名之前
        String filename= new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date());
        //截取至最后一个 . 也就是把后缀前面给截去掉
        String suffix = photo.getOriginalFilename().substring(photo.getOriginalFilename().lastIndexOf("."));

        FileCopyUtils.copy(photo.getInputStream(),new FileOutputStream(path+"/"+filename+suffix));
        return "end";
    }
}

 

上一篇:小程序的拍照功能实现与照片的展示


下一篇:php – 将照片发布到FB导致需要上传文件错误