我试图使用ajax发布BLOB图像。但是spring控制器正在接收一个空值。
这是我的控制器。
@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,
});
答案 0 :(得分:1)
您需要MultipartFile才能接收文件。
@RequestMapping(value = "/uploadAvatar", method = RequestMethod.POST)
public @ResponseBody List<Long> uploadAvatar(@RequestParam MultipartFile avatar) {
byte[] bytes = avatar.getBytes();
}