关于springmvc接收前端传blob对象的问题

blob 是h5的一个新特性,相比于base64而言,他比较简洁和方便。

blob其实也是一个二进制文件流,跟普通的file文件一样,他在控制层同样可以使用我们的multipartfile接收,然后就是一样的操作。

比如我们有一个名为photo的文件,他是一个blob类型,我们可以这样传输。

ajax:

    

    var formData = new FormData();
    
    formData.append("file",photo);
    
    $.ajax({
        type:'post',
        url:url,
        data:formData,
        success:function (response) {
            
        }
    });

axios:

   

    var formData = new FormData();
    
    formData.append("file",photo);
    
    axios.post(url,formData).then(res => {
        //....do something
    });

然后后台就可以这样接收

    

    @RequestMapping(value = "/upload")
    public void upload(@RequestParam MultipartFile file){
        //...do something
    }

也可以这样

    @RequestMapping(value = "/upload")
    public String upload(HttpServletRequest request){
        MultipartHttpServletRequest mul = (MultipartHttpServletRequest)request;
        MultipartFile file = mul.getFile("file");
       //...do something
    }

你可能感兴趣的:(关于springmvc接收前端传blob对象的问题)