当前位置: 首页 > 知识库问答 >
问题:

Java类型类com.sun.jersey.multipart。找不到FormDataMultiPart和MIME媒体类型multipart/form数据

蒋弘致
2023-03-14

我在我的tomcat日志中看到以下错误...

未找到 Java 类的邮件正文读取器和 Java 类型类“多部分”和“表”多部分“和”MIME 媒体类型多部分/表单数据“。与 MIME 媒体类型兼容的已注册邮件正文读取器包括:/ -

在客户端,我看到以下消息:

邮政https://dev.project.org/upload返回了415不支持的媒体类型的响应状态。

我已经搜索了一下,建议是球衣多部分.jar和哑剧.jar作为依赖项是必需的。我在我的html" target="_blank">构建.gradle中有以下依赖项:

编译'com.sun.jersey.contribs:jersey multipart:1.18'

在tomcat(Apache Tomcat/7.0.47)上打包和部署应用程序后,我看到jersey-multipart-1.18.jar和mimepull-1.9.3.jar在app/WEB-INF/lib文件夹中。

以下是我的服务器端代码:

@POST
  @Consumes("multipart/form-data")
  @Path("/v2/upload")
  public Response uploadV2(FormDataMultiPart multipart) {

      logger.info("**POST /v2/upload");

      return Response.ok("success!").build();

  }

我在服务器端和客户端仍然会遇到相同的错误。感谢任何帮助。谢谢

共有2个答案

松嘉运
2023-03-14

我也有同样的行为,收到415不支持的媒体类型的响应。若我的输入参数是String,我可以点击path。一旦我将参数更改为FormDataMultiPart,我就会得到415。对我来说,解决这个问题的办法是确保com.sun。球衣套装的版本相同。

与maven一起:

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-multipart</artifactId>
        <version>1.18.1</version>
    </dependency>

泽西多部分的任何不匹配都会给我提到的行为。

屠晟睿
2023-03-14

你只需要添加哑剧.jar到你的自由

或者和Maven一起

<代码>

 类似资料:
  • 我正在使用泽西岛客户endpoint击SpringMVC REST控制器的图像上传功能。我收到以下异常: 我的控制器发布图像的方法: 我的REST控制器方法获取post数据: 有没有解决这个异常的方法?我已经按照以下堆栈解决方案进行了尝试,但仍然收到相同的异常。 Jersey客户端异常:找不到消息正文编写器 使用泽西岛发送多个文件:找不到多部分/表单数据的消息正文

  • 我已经在SO上找到了一些这样的问题,但它们似乎都没有解决我的特定问题,而且我无法自己找到解决方案。 下面是我得到的错误: 我通过一个 jQuery AJAX 请求发送此请求,如下所示: 这是我的Javaendpoint: 我看到一些人很幸运地将endpoint方法的参数更改为使用@FormDataParam而不是FormDataMultiPart(如这里所示),但我无法编辑Java类,因此我必须按

  • 我正在使用jersey客户端调用rest webservice。 我的网络服务正在使用json,所以我需要让json打电话给我的网络服务提供商。 我用下面的方法做这件事。 但是我得到了以下异常: 09:52:01,625错误[[MVC-dispatcher]]servlet MVC-dispatcher的Servlet.service()抛出异常com . sun . jersey . API .

  • 最初设计MIME(多用途Internet邮件扩展)媒体类型,以便电子邮件可以包括除纯文本之外的信息。 MIME媒体类型表示以下内容 - 消息的不同部分(如文本和附件)如何组合到消息中。 指定消息的每个部分的方式。 编码不同项目以进行传输的方式,以便即使设计为仅使用ASCII文本的软件也可以处理该消息。 现在MIME类型不只是用于电子邮件; 它们已经被Web服务器采用,作为告诉Web浏览器向他们发送

  • 我正在使用Jersey构建REST服务,并希望返回一个< code >集合 但我的尝试失败了,但有以下例外: javax.ws.rs.WebApplicationException:com.sun.jersey.api。MessageException:Java类Java.util的消息体编写器。ArrayList和Java类型类Java.util。找不到ArrayList和MIME媒体类型tex

  • 问题内容: 我正在使用Jersey来构建REST服务,并希望返回XML。 但是我的尝试失败,但有以下异常: javax.ws.rs.WebApplicationException:com.sun.jersey.api.MessageException:Java类java.util.ArrayList和Java类型类java.util.ArrayList和MIME媒体类型text / xml的消息正