欢迎进入Wiki » FAQ » 后台无法获得表单上传的附件?

后台无法获得表单上传的附件?

在2015-08-08 16:16上被李小翔修改
评论 (0) · 附件 (0) · 记录 · 信息

供稿人:张文秀

如下面的代码所示,在 gsp 中放置了一个表单,表单中有一个文件选择控件(input type='file'):

<g:form action="foo" name="fmFoobar">
   <input type=”file” name=”file”>
</g:form>

表单提交后,在操作 foo 中,无法通过 request.getFileMap() 获得上传的附件。

原因分析:

  1. 附件上传,表单必须用 POST 方式提交
  2. 附件上传,必须设置表单的 enctype 为 “multipart/form-data”,如需兼容 IE6/IE7 的话,还需要设置表单属性 encoding 为 “multipart/form-data”
  3. 如果附件大小为 0,后台也无法获得上传的附件

因此,上面的代码应该修改为:

<g:form action="foo" name="fmFoobar" method="post" enctype="multipart/form-data" encoding="multipart/form-data">
   <input type=”file” name=”file”>
</g:form>

BTW:如果不是使用 jQuery 插件 ajaxForm 进行 AJAX 提交的话,上面的 enctype 和 encoding 可以忽略,BroFramework 会自动添加这两个属性。

标签:
在2015-08-08 16:16上被李小翔创建

Copyright © 2013 北京博瑞开源软件有限公司
京ICP备12048974号