gpt4 book ai didi

java - JAX-RS HTTP 多部分请求

转载 作者:行者123 更新时间:2023-11-30 05:39:00 25 4
gpt4 key购买 nike

如何在没有供应商特定库的情况下使用 JAX-RS 实现multipart/form-data 请求(文件上传)处理程序?到目前为止,除了注入(inject) HttpServletRequest 并使用 Servlet API 访问表单数据之外,我还没有找到其他方法。

然而,即使请求格式正确(通过 Wireshark 确认),HttpServletRequest#getParts() 也会返回一个空列表。我读到我必须在 web.xml 中为 Jersey Servlet 启用多部分配置。但是,我使用 @ApplicationPath 注释来自动配置 JAX-RS。那么处理多部分请求的正确方法是什么?

最佳答案

这段代码可能会给你带来启发

1) JAXRS 应用程序设置

import javax.ws.rs.ApplicationPath;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.media.multipart.MultiPartFeature;


@ApplicationPath("demo")
public class ApplicationConfig extends ResourceConfig {
public ApplicationConfig() {
packages("com.mycompany.demo").register(MultiPartFeature.class); // <= here!
}
}

2) JAXRS 服务

@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadImage(
@FormDataParam("file") InputStream data,
@FormDataParam("file") FormDataContentDisposition fileInfo) {
...
}

关于java - JAX-RS HTTP 多部分请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56065940/

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