Zaylour 2018-04-10 08:31 采纳率: 69.2%
浏览 1046
已采纳

springmvc+ajax上传图片的问题。传过去的是空值,这是为什么?

html代码



邮箱*



账号*



密码*



昵称*



介绍*



头像*







-----------------------------------------------------------------------------------
js代码:
<br> $(function () {<br> $(&quot;#btn&quot;).click(function () {</p> <pre><code> var f = $(&quot;#file&quot;).val(); if(f==null||f==&quot;&quot;){ $(&quot;#picTip&quot;).html(&quot;&lt;span style=&#39;color:Red&#39;&gt;错误提示:上传文件不能为空,请重新选择文件&lt;/span&gt;&quot;); }else{ var extname = f.substring(f.lastIndexOf(&quot;.&quot;)+1,f.length); extname = extname.toLowerCase();//处理了大小写 if(extname!= &quot;jpeg&quot;&amp;&amp;extname!= &quot;jpg&quot;&amp;&amp;extname!= &quot;gif&quot;&amp;&amp;extname!= &quot;png&quot;){ $(&quot;#picTip&quot;).html(&quot;&lt;span style=&#39;color:Red&#39;&gt;错误提示:格式不正确,支持的图片格式为:JPEG、GIF、PNG!&lt;/span&gt;&quot;); } } adduser(); }); }); function adduser(){ var email=$(&quot;#email&quot;).val(); var account=$(&quot;#account&quot;).val(); var password=$(&quot;#password&quot;).val(); var nickname=$(&quot;#nickname&quot;).val(); var introduce=$(&quot;#introduce&quot;).val(); var formData = new FormData($(&quot;#uploadForm&quot;)[0]); alert(formData) alert(email) $.ajax({ url:&quot;./zhuce&quot;, data:{&quot;email&quot;:email,&quot;account&quot;:account,&quot;password&quot;:password,&quot;nickname&quot;:nickname,&quot;introduce&quot;:introduce,&quot;formData&quot;:formData}, type:&quot;post&quot;, async: false, cache: false, contentType: false, processData: false, success: function (data) { if(data==&quot;error&quot;){ alert(&quot;注册失败!&quot;) } if(data==&quot;success&quot;){ alert(&quot;成功!&quot;) window.location.href=&quot;login.jsp&quot; } } }); } &lt;/script&gt; ----------------------------------------------------------------------- </code></pre> <p>后台controller代码:<br> @RequestMapping(value=&quot;/zhuce&quot;)<br> @ResponseBody<br> public String zhuce(String email,String account,String password,String nickname,String introduce,@RequestParam(value=&quot;file&quot;,required = false) CommonsMultipartFile file,HttpServletRequest request, Model model){<br> System.out.println(&quot;邮箱和账号&quot;+email+&quot;,&quot;+account);<br> System.out.println(&quot;hhhh&quot;);<br> System.out.println(&quot;filename:&quot;+file.getOriginalFilename());</p> <pre><code> String path = request.getSession().getServletContext().getContextPath(); System.out.println(&quot;path:&quot;+path); return &quot;success&quot;; } ---------------------------------------------------------------- </code></pre> <p>运行结果是:<br> 邮箱和账号null,null<br> hhhh<br> java.lang.NullPointerException--获取文件名字这里是空的</p>
  • 写回答

3条回答 默认 最新

  • baizzj 2018-04-10 09:17
    关注

    var _formData = new FormData($("#tztg_saveForm")[0]);
    $.ajax({
    url: '',
    type: 'POST',
    cache: false,
    data: _formData,
    processData: false,
    contentType: false,
    dataType: "json",
    }).done(function (data) {
    }).fail(function (e) {
    return false;
    });
    这是我做的一个项目做的上传。你可以参考下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含