Форма сообщения через REST Client - Multipart Upload - PullRequest
3 голосов
/ 24 января 2012

Я пытаюсь использовать REST Client для Firefox в качестве фиктивной формы для публикации данных из нескольких частей на управляемый Spring 3 контроллер и последующие обработчики. У меня есть наш проект веб-сервисов, настроенный таким образом, что мы можем отправлять запросы XML / JSON, которые маршалируются / демаршализируются и используются обычным способом. Когда я пытаюсь использовать enctype = "multipart / form-data" (отправив Content-Type = "multipart / form-data"), я сразу получаю:

org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found

Я обязательно включил это в мою конфигурацию rest-сервлета:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="100000"/>
</bean>

Думая, что это ограничение версии jar FileUpload, я пытался использовать более старые версии, но безрезультатно. То же самое с моим клиентом REST, пробуя и это и это

Моя конечная цель состояла бы в том, чтобы JAXB собрал указанный файл в объект, который автоматически содержит байт []. Для большой ссылки на то, что я хотел бы видеть, этот пост точно соответствует этому, но он использует RESTEasy в качестве реализации, тогда как я использую Spring 3 (и это нельзя изменить).

В идеале, РАЗМЕСТИТЬ этот XML:

<fileUpload>
    <username>user123</username>
    <localFileToBeUploaded>path/to/file</localFileToBeUploaded>
</fileUpload>

Результатом будет объект FileUpload, содержащий имя пользователя в виде строки и файл в виде байтового массива, InputStream или фактического объекта File, который отображается на некоторый конкретный контроллер для обработки. Мне удобно с маршалингом XML, но я потерял понимание того, что делать с аспектом файла.

Возможно ли это, или я смешиваю две разные парадигмы? Я не смог встретить ничего подобного, что наводит меня на мысль, что я немного в левом поле. Любые идеи или комментарии будут чрезвычайно полезны. Спасибо!

1 Ответ

2 голосов
/ 18 сентября 2012

Это будет доступно в REST Client 3.1 и выглядит так: http://code.google.com/p/rest-client/issues/detail?id=100

...