宁静的图像上传异常

问题描述:

我有一个宁静的界面,如下所示。 我试图用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侧,其可以属于弹簧MVC块?

+0

你能提供从服务器堆栈跟踪或其他错误日志?另外,http://stackoverflow.com/questions/6137444/resteasy-and-fileupload-get-no-content-disposition-error可能是相关的。 – mpierce

+0

当我从html页面提交时,它不会进入服务内部(java.lang.RuntimeException:在部分内部找不到Content-Disposition标头)。这个错误没有堆栈跟踪或日志 –

更改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个jar是craching谢谢 –

+0

是不是泽西岛JAX-RS的实现?见http://wikis.sun.com/display/Jersey/Main – suat

+0

是的,你是对的,但来回使用FormDataContentDisposition我需要广告jersey.jar当我添加这个jar tomcat doesnor运行给予太多异常,当我删除泽西运行,我不明白问题 –