使用Ajax发布BLOB映像并使用Spring Boot接收

时间:2017-01-22 04:40:17

标签: ajax spring spring-boot

我试图使用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,
    });

1 个答案:

答案 0 :(得分:1)

您需要MultipartFile才能接收文件。

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