axios+springboot 文件上传

前端:

<form action="javascript:void(0);">
              <input type="file" name="upload-file" id="upload-file" @change="uploadFile">
</form>
// 文件上传处理
      uploadFile:function(e){
        var file = e.target.files[0];
        var formdata = new FormData()
        formdata.append("file",file)
        console.log("文件",formdata,this.qs.stringify({'file':file}));
        this.$axios.post(
          '/upload',
          formdata,
          {headers:{'Content-Type':'multipart/form-data'}}
          ).then(function(res){
            console.log(res)
          })
      }

后端:

//文件存储路径
private static String UPLOADED_FOLDER = "/home/zsy/Desktop/课设/Files/";

    @CrossOrigin
    @RequestMapping(value = "/upload",method = RequestMethod.POST)
    public String file(@RequestParam("file") MultipartFile file){

        if (file.isEmpty()) {
            return "文件为空";
        }


        File path = new File(UPLOADED_FOLDER + file.getOriginalFilename());
        try{
            byte[] fileSize = file.getBytes();
            file.transferTo(path);
            return "上传成功";
        }catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "上传失败";



    }

MultipartFile文档:

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/multipart/MultipartFile.html

猜你喜欢

转载自blog.csdn.net/zSY_snake/article/details/82557137