【问题标题】:IE multipart/form-data jspx issueIE 多部分/表单数据 jspx 问题
【发布时间】:2013-05-27 16:35:09
【问题描述】:

我的 jspx 页面中有一个如下所示的表单:

<form class="form-horizontal no-margin uploadform" action="/webapp/post" method="POST" encoding="multipart/form-data" enctype="multipart/form-data">
    <input type="text" name="nomfichact" id="nomfichact" />

    <input id="content" name="content" type="file"
       style="display: none;"
       accept="image/x-png, image/gif, image/jpeg" />
    <input readonly="readonly" class="input-large" type="text" /> 
    <a onclick="$('input[id=content]').click();">Choose file</a>
</form>

至于服务器端,我使用 spring mvc 来捕获文件,如下所示:

@RequestMapping(method = RequestMethod.POST, consumes = "multipart/form-data", produces = "text/html")
public String create(@Valid UploadedFile mediaUpload, HttpSession session, BindingResult bindingResult, Model uiModel,
        HttpServletRequest httpServletRequest){
              CommonsMultipartFile content = mediaUpload.getContent();
              this.save((FileInputStream)content.getInputStream());
        }

这与 firefox 完美配合,但使用 ie8 或 ie9 这不起作用并返回 null。我已经阅读了有关编码的信息,我应该在表单上放置 enctype 和编码标签,但这并没有起到作用。 在此先感谢

上传的文件类定义包含:

@Transient
private CommonsMultipartFile content;

public CommonsMultipartFile getContent() {
    return content;
}


public void setContent(CommonsMultipartFile content) {
    this.content = content;
}

【问题讨论】:

    标签: forms internet-explorer spring-mvc multipartform-data jspx


    【解决方案1】:

    如果有人遇到同样的问题。问题在于 ie 没有在输入中发送具有内容和样式显示 id 的文件:无:

    <input id="content" name="content" type="file"
       style="display: none;"
       accept="image/x-png, image/gif, image/jpeg" />
    

    我使用软件调试浏览器发送的http请求发现了问题。

    我通过使用文件类型的简单输入解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-14
      • 2019-11-19
      • 1970-01-01
      • 2020-05-18
      • 2012-10-11
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      相关资源
      最近更新 更多