2011-10-06 3 views
3

У меня есть спокойный интерфейс, как показано ниже. Я пытаюсь загрузить изображение с помощью интерфейса jaxrs, но я столкнулся с ошибкойИсходное исключение для загрузки изображений

@POST 
     @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
     @Path("createUserphotoDirectory/{userid}/{serverName}") 
     @Consumes("multipart/form-data") 
     public String createUserDirectory(@PathParam("userid") Long userid, 
        @PathParam("serverName") String serverName, 
        MultipartFormDataInput input) { 
       System.out.println("1"); 
       photoService.createServerImages(userid,serverName,input); 
       return responseMessageSource.getMessage("SUCCESSFULL_CRATED_ALBUM",null,null); 
      } 

Когда я запрос с помощью этой формы

<html> 
<body> 
    <h1>JAX-RS Upload Form</h1> 

    <form action="/AlbumApplication/rest/createUserphotoDirectory/1/FeedServer" method="post" enctype="multipart/form-data"> 

     <p> 
     Select a file : <input type="file" name="uploadedFile" size="50" /> 
     </p> 

     <input type="submit" value="Upload It" /> 
    </form> 

</body> 
</html> 

Я получаю эту ошибку - запрос, отправленный клиентом был синтаксически некорректной (java.lang.RuntimeException: Could find no Content-Disposition header within part).


я забыл написать, я использовать SpringMVC на стороне MVC, это может быть относятся Spring MVC блок?

+0

Можете ли вы предоставить трассировку стека или другой протоколирования ошибок с сервера? Кроме того, может оказаться актуальным http://stackoverflow.com/questions/6137444/resteasy-and-fileupload-get-no-content-disposition-error. – mpierce

+0

он не входит в сервис, когда я отправляю с html-страницы, которую он дает (java.lang.RuntimeException: не смог найти заголовок Content-Disposition внутри части). эта ошибка не имеет трассировки стека или журнала –

ответ

2

Изменение службы подписи REST как ниже может решить вашу проблему

public String createUserDirectory(@PathParam("userid") Long userid, 
     @PathParam("serverName") String serverName, 
     @FormDataParam("uploadedFile") File file, 
     @FormDataParam("uploadedFile") FormDataContentDisposition disposition) { 
+0

Благодарим вас за ответ, но класс FormDataContentDisposition находится внутри джерси, наши проекты работают с jax-rs, мы не можем использовать трикотаж и jaxrs вместе, потому что 2 баночки жаждут спасибо –

+0

Не является Джерси реализация JAX-RS? См. Http://wikis.sun.com/display/Jersey/Main – suat

+0

да, вы правы, но с использованием FormDataContentDisposition мне нужно ad jersey.jar, когда я добавляю этот jar tomcat donor run, дающий слишком много исключений, когда я стираю трикотаж, который он запускает , я не понимаю проблему –

 Смежные вопросы

  • Нет связанных вопросов^_^