2017-01-22 16 views
2

我正在嘗試使用Ajax發佈BLOB圖像。但是spring控制器正在接收一個空值。使用Ajax發佈BLOB圖像並使用Spring Boot進行接收

這是我的控制器。

@RequestMapping(value = "/uploadAvatar", method = RequestMethod.POST) 
public @ResponseBody List<Long> uploadAvatar(byte[] avatar) { 
    // avatar is null here 

    // do some stuff 
} 

這裏是ajax部分。

var avatar = // some BLOB data 
    var fd = new FormData(); 
    fd.append('fname', 'avatar.png'); 
    fd.append('avatar', avatar); 

    $.ajax({ 
     url: '/uploadAvatar', 
     type: 'POST', 
     data: fd, 
     cache: false, 
     processData: false, 
     contentType: false, 
     success: applySuggestions, 
    }); 

回答

1

您需要MultipartFile接收文件。

@RequestMapping(value = "/uploadAvatar", method = RequestMethod.POST) 
public @ResponseBody List<Long> uploadAvatar(@RequestParam MultipartFile avatar) { 
    byte[] bytes = avatar.getBytes(); 
} 
相關問題