java.io.IOException:损坏的表单数据:没有前导边界

时间:2016-11-09 15:48:47

标签: java utf-8 character-encoding glassfish boundary

我目前正在使用 glassfish 4 / Java EE 7 开发Web应用程序。我遇到了编码问题:Glassfish默认为 ISO-8859-15 ,我需要 UTF-8 。有时我有一些奇怪的字符,但网络应用程序工作正常没有问题。 所以,我添加了一行而不是我的 glassfish-web.xml 文件     <parameter-encoding default-charset="UTF-8"/>

然后我更改了我的JSP文件<%@page contentType="text/html" pageEncoding="UTF-8"%> 代替     <%@page contentType="text/html" pageEncoding="ISO-8859-15"%>

现在我不再拥有那些奇怪的角色,但从那时起,当内容类型为 multipart / form-data

时,我遇到POST请求问题

我收到错误500,当我查看glassfish日志时,我看到了这个异常:

  

java.io.IOException:损坏的表单数据:无前导边界:------ WebKitFormBoundaryCgZXcxucgAjYv0sU!= ------ WebKitFormBoundaryCgZXcxucgAjYv0sU; charset = UTF-8

所以我打印了请求标题,然后我看到了:

  

标题[content-type]:multipart / form-data;边界= ---- WebKitFormBoundaryCgZXcxucgAjYv0sU;字符集= UTF-8

看起来它在内容类型标题的末尾添加了charset(为什么不呢?)但它似乎寻找错误的边界

  

WebKitFormBoundaryCgZXcxucgAjYv0sU;的字符集= UTF-8

显然,我试图从glassfih-web.xml文件中删除UTF-8行,但它没有帮助。

有谁知道为什么边界中有字符集和/或如何摆脱它或如何处理它?<​​/ p>

非常感谢。

0 个答案:

没有答案