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

用泽西发送ByteArrayOutputStream

章承基
2023-03-14

我试图用Jersey发送一个带有POST的ByteArrayOutputStream压缩文件

Client client = Client.create();
client.resource(url);

ClientResponse response = webResource.type(MediaType.MULTIPART_FORM_DATA_TYPE).post(ClientResponse.class, myBaosObject.toByteArray());
<dependency>
  <groupId>com.sun.jersey</groupId>
  <artifactId>jersey-client</artifactId>
  <version>1.9.1</version>
 </dependency>

共有1个答案

南宫书
2023-03-14

我能做到这一点是通过做:

File file = null;
    try {
        // Transform baos into file
        InputStream is = new ByteArrayInputStream(baos.toByteArray());

        file = File.createTempFile("file ", "zip");
        FileUtils.copyInputStreamToFile(is, file);

        HttpClient httpclient = HttpClientBuilder.create().build();
        HttpPost httpPost = new HttpPost(url);

        // Send file as part of body
        FileBody uploadFilePart = new FileBody(file);
        MultipartEntity reqEntity = new MultipartEntity();
        reqEntity.addPart("file", uploadFilePart);
        httpPost.setEntity(reqEntity);

        HttpResponse response = httpclient.execute(httpPost);
        return response.toString();

    } finally {
        if (file != null) {
            file.delete();
        }
    }

我必须补充以下内容:

<dependency>
  <groupId>org.apache.httpcomponents</groupId>
  <artifactId>httpclient</artifactId>
  <version>4.5</version>
</dependency>
 类似资料:
  • Java泽西项目使用以下Swagger核心: 文档链接转到“openapi.json”。Swagger-UI dist ver 3.20.5从这里下载。Java代码如下: 当邮递员发出请求时,一切都正常。但是,从下面的Swagger UI中,头参数字符串“a”是空字符串,而路径参数字符串是好的。openapi中的部分。json在这里:

  • 我目前使用的是球衣 我现在要做的是设置泽西,这样当查询参数进来时(比如缩进),我可以告诉Jackson以“更漂亮的格式,也就是缩进”序列化JSON。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器来轻松地告诉Jackson这样做。 问题是,我如何在每个请求的基础上获取一个queryparam并使用它来修改Jackson的输出?

  • 我需要使用泽西2.0创建一个ReST服务。我需要向客户端发送多个文档和元数据。实现这一点的最佳方法是什么。 我能够从服务器发送一个多部分响应,但是不知道如何从客户端代码中读取它

  • 我的webapp包含一个库,其中包含一个用注释的类。如果存在此类,我的webapp(部署为EAR中的WAR)将无法启动,并出现以下错误: 我根本没有使用jersey,我没有使用任何jax-rs服务和我的web。xml不包含与jersey相关的servlet。我不明白为什么weblogic在我的应用程序中初始化jersey并扫描jars相关的JAR。 我在互联网上找到的与此相关的大多数信息导致人们以

  • 问题内容: 我在Spring启动项目中有一个与Jackson配置有关的问题 如Spring Boot博客中所述 我尝试自定义对象序列化。 在我的配置中添加新的配置bean之后 当我尝试输出类User的实例时,json结果不在CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES中 json输出是: 并不是 也许我需要在Jersey配置中注册一些东西才能激活我的自定义ob

  • 我正在尝试使用JAX-RS(Jersey)构建JSON RESTful Webservice。我也在使用Maven构建应用程序。 我的第一个方法是 pom之后。xml- 所以我补充道 到我的pom文件。其他lib文件(例如jackson-cors-asl-1.7.1.jar、jackson-jaxrs-1.7.1.jar、jaxb impl,…)也可以在生成的war文件中找到//编辑:它还下载st