【问题标题】:RESTEasy client multipart post fileRESTEasy 客户端多部分发布文件
【发布时间】:2018-01-19 16:09:02
【问题描述】:

我正在尝试使用类似这样的代码将带有 resteasy 客户端的文件发送到 http 服务器:

File source = new File("test.pdf");

Client client = ClientBuilder.newClient();

MultipartFormDataOutput upload = new MultipartFormDataOutput();

upload.addFormData("source", source, MediaType.APPLICATION_OCTET_STREAM_TYPE);

Entity entity = Entity.entity(upload, MediaType.MULTIPART_FORM_DATA_TYPE)
Response response = client.target(url).request().post(entity);

发生的情况是,在 http 服务器上,我没有在请求中获得通常的“文件”(带有内容、名称等),而是像一个带有文件内容的名为“source”的常规 POST 参数作为它的价值。 我在一些不同的 Web 服务器上尝试过,所以问题必须出在 RESTeasy 构建的请求中。

有什么帮助吗?

【问题讨论】:

    标签: java http multipartform-data resteasy


    【解决方案1】:

    MultipartFormDataOutput 的行为与 HTML 表单的行为相同。它将键/值对发送到服务器。

    如果您想上传 MIME 消息,请考虑使用 MultipartOutput

    【讨论】:

    • 你会考虑写一个使用MultipartOutput的例子吗?
    • @DarkCygnus 这很简单。您只需添加您的部分,并让 RESTEasy 使用它的 *Output 提供程序来处理它。您可以在RESTEasy's JUnit test 之一中找到示例。我最近不得不发送multipart/related 消息,它就像一个魅力 - 不幸的是,我不允许在这里发布任何资源
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多