0

我正在尝试在表单提交中包含电子邮件附件。我的后端有一个使用 jersey 的 tomcat 服务器来接收 RESTful 调用。

当我尝试使用此表单生成帖子时(所有样式都已被剥离)

<form  name="composeMailForm" enctype="multipart/form-data" method="POST" action="/myTarget">
    <input id="mailTo" type="text" name="to" class="span12" />                                                        
    <input type="text" name="subject" class="span8" />
    <textarea name="body" rows="5" class="span8">-</textarea>
    <input type="file" name="file" size=100 />
    <button type="submit" >Send</button>
</form> 

我得到一个 405 回来。

我在后端的函数定义是


@Path("/myTarget")
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response sendMail(
        @FormDataParam("to") String recipients,
        @FormDataParam("subject") String subject,
        @FormDataParam("body") String body,
        @FormDataParam("file") File loadedFile,
        @FormDataParam("file") FormDataContentDisposition headerDisp,
        @CookieParam("USER_COOKIE") String USER_COOKIE){

我能看到的最大问题是,当我在 Wire Shark 中观看会话时,它说请求数据包格式不正确

它给出了一个错误

[畸形数据包:UASIP]

[专家信息(错误/格式错误):格式错误的数据包(发生异常)]

任何关于表格或处理过程中出现问题的想法将不胜感激。

4

1 回答 1

0

一个不相关的错字导致 Jersey 无法正确映射函数。

格式错误的数据包源于我的计算机将校验和计算推迟到路由器的事实,因此数据包具有错误的校验和,但在它到达外部线路时已解决。

于 2012-10-02T21:24:37.933 回答