Отправка файла в качестве параметра multipart с помощью jersey-multipart - PullRequest
0 голосов
/ 08 февраля 2019

каждый!

Я пытаюсь отправить запрос в Службу отдыха для загрузки файла PDF, но получаю HTTP-статус 400.

Служба позволяет отправлятьнесколько файлов, но требуется только один.Определение WADL:

<resource path="/uploadFiles">
<method name="POST" id="uploadDocuments">
    <request>
        <representation mediaType="multipart/mixed">
            <param name="attachment1" style="query" type="xs:anyType"/>
            <param name="attachment2" style="query" type="xs:anyType"/>
            <param name="attachment3" style="query" type="xs:anyType"/>
        </representation>
    </request>
    <response>
        <representation mediaType="application/json"/>
    </response>
</method>

В моем случае я просто хочу отправить один файл в "attatchment1".Я использую jersey-multipart, и у меня есть этот метод для создания объекта multipart:

private MultiPart createMultiPart (String fileName){

File file = new File(fileName);

final FileDataBodyPart bodyPart = new FileDataBodyPart(fileName, file);

final FormDataContentDisposition dispo = FormDataContentDisposition
            .name("attachment1")
            .fileName(fileName)
            .size(file.length())
            .build();

bodyPart.contentDisposition(dispo);

final MultiPart multBody = new MultiPart().bodyPart(fd);

return multBody;

}

Это клиент, которому я должен отправить запрос:

com.sun.jersey.api.client.Client client = new DefaultClientConfig();
com.sun.jersey.api.client.WebResource resource = client.resource(URI);
com.sun.jersey.api.client.WebResource.Builder resourceBuilder = resource.getRequestBuilder();
resourceBuilder = resourceBuilder.accept("application/json");
resourceBuilder = resourceBuilder.type("multipart/mixed");
com.sun.jersey.api.client.ClientResponse response;
response = resourceBuilder.method("POST", com.sun.jersey.api.client.ClientResponse.class, createMultiPart(fileName));

Думаю, проблема в том, что у меня возникла ошибка при создании объекта multiPart.Кто-нибудь знает Хой, чтобы решить это?

Заранее спасибо!

...