请为此解决。
以下是我的webservice方法的签名,该方法接受附件的内容类型= multipart / form-data
@POST @Path(“/ saveimg”)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response saveAttachment(@FormDataParam(“files”)InputStream fileInputStream,
@FormDataParam(“files”)FormDataContentDisposition contentDispositionHeader){
我收到以下错误
SEVERE: A message body reader for Java class com.sun.jersey.core.header.FormDataContentDisposition, and Java type class com.sun.jersey.core.header.FormDataContentDisposition, and MIME media type multipart/form-data; boundary=----WebKitFormBoundaryiNkfu0uRssIuZMPX was not found.
The registered message body readers compatible with the MIME media type are:
*/* ->
com.sun.jersey.core.impl.provider.entity.FormProvider
com.sun.jersey.core.impl.provider.entity.StringProvider
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
com.sun.jersey.core.impl.provider.entity.DataSourceProvider
com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
com.sun.jersey.core.impl.provider.entity.ReaderProvider
答案 0 :(得分:1)
尝试删除FormDataContentDisposition,我删除了它,现在我没有415错误...但我必须找到另一种方法来获取所需的信息。
我的文件:@FormDataParam(" file")InputStream fileStream。
我试着读取这样的文件:
final Reader reader = new InputStreamReader(fileStream); String text = CharStreams.toString(reader);
但不是我的最终解决方案......我正在寻找其他解决方案...... 希望我能帮上忙。
答案 1 :(得分:0)
但是很晚才回答,我使用Jersey 2 Framework解决了我的问题。泽西岛版本1对我不起作用。除此之外,所需的库是:
jersey-media-multipart-2.25
mimepull-1.9.7
注意:我使用过jackson提供者 - jersey-media-json-jackson-2.5.1
很容易,可以从Chrome POSTMAN进行测试
>> method - PUT, POST
>> Give Path(URL) of your resource method
>> Body -- form-data
>> key -- should match with @@FormDataParam argument
>> Choose File -> browse but make sure it's **File** type not Text
>> Yeah, Hit SEND