首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用springmvc框架返回jQuery Ajax文件上传415

使用springmvc框架返回jQuery Ajax文件上传415
EN

Stack Overflow用户
提问于 2020-05-11 08:04:34
回答 1查看 33关注 0票数 0

我只想做一个用户注册。以下是我的jsp表单(使用引导):

代码语言:javascript
复制
<form id="form"  onsubmit="return false;">
   <div class="form-group">
        <label for="username">Username:</label>
        <input type="text" class="form-control" id="username">
    </div>
    <div class="form-group">
        <label for="avatar">Avatar:</label>
        <input type="file" class="form-control-file" id="avatar" name="avatar">
    </div>
    <button type="submit" class="btn btn-primary" id="submit">Register Now</button>
</form>

下面是我的Ajax:

代码语言:javascript
复制
var _url = "<%= request.getContextPath()%>/user";
$("#submit").click(function(e) {
  e.preventDefault();
  var formData = new FormData();
  formData.append("useranme", $("#username").val())
  formData.append("avatar", $("#avatar")[0].files[0])

  $.ajax({
    url: _url,
    type: 'POST',
    dataType: 'json',
    data: formData,
    cache: false,
    processData: false,
    contentType: false,
    success: function(data) {
      console.log(data);
    }
  })
})  

我的springMVC控制器:

代码语言:javascript
复制
@RequestMapping("/user")
@RestController
public class UserController {
   @PostMapping
    public Response register(@RequestBody User user, @RequestParam("avatar") MultipartFile avatar) throws IllegalStateException, IOException {
        String fileName = avatar.getOriginalFilename();
        System.out.println(fileName); // if i get the fileName, then means success...
        // besiness logic...
        Response res = new Response();
        return res;
    }
}

正如我说的,当我现在按下按钮寄存器时,我得到了415(不支持的媒体类型)。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-11 17:44:50

我发现这是@RequestBody的问题所在,我删除了它,然后它就起作用了。(另一个问题是我不能使用@RequestParam的"avatar“,我必须更改其他的.我不知道为什么)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61724945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档