gpt4 book ai didi

java - 无法使用 JAX-RS 上传文件

转载 作者:行者123 更新时间:2023-11-28 22:46:42 24 4
gpt4 key购买 nike

我正在尝试将 Rest 添加到我的后端以上传文件。我在服务器上使用这段代码:

import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
@POST
@Path("/upload_thesis")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@DefaultValue("true") @FormDataParam("enabled") boolean enabled,
@FormDataParam("file") InputStream file,
@FormDataParam("file") FormDataContentDisposition fileDisposition

在我将我的程序打包为 jar 文件并将其放在 apache tomcat 服务器上之后,我在服务器上看到了这个错误:

java.lang.RuntimeException: Wrong or absent annotation at parameter with index 1 at class

我在我的依赖项上使用这个版本的 Jersey :

    <dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.29</version>
</dependency>

编辑:

我想我有一个依赖问题,我很困惑我必须使用哪个:

import com.sun.jersey.core.header.FormDataContentDisposition;
import com.sun.jersey.multipart.FormDataParam;

import org.glassfish.jersey.media.multipart.FormDataBodyPart;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.glassfish.jersey.media.multipart.FormDataParam;

最佳答案

这取决于您使用的 Jersey 版本:

  • 对于 Jersey 1.x,使用来自 com.sun.jersey 的类型。
  • 对于 Jersey 2.x,使用来自 org.glassfish.jersey 的类型。

当涉及到依赖项时,为 Jersey 1.x 选择以下内容:

<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>

以及 Jersey 2.x 的以下依赖项:

<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>

关于java - 无法使用 JAX-RS 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57789783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com