Bjö*_*obs 7 java rest file-upload jersey
我有一个多部分表单,它应该上传一个文件以及一些参数.它看起来像这样:
<form id="upload" action="http://localhost:9998/test" method="post" enctype="multipart/form-data">
<input name="inputfile" type="file" size="50" accept="application/octet-stream">
<input name="someparameter" type="text" size="10">
<input type="submit" value="Go!">
</form>
Run Code Online (Sandbox Code Playgroud)
Web服务看起来像这样:
@Path("/test")
public class ServiceInterface {
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void execute(@FormParam(value="someparameter") String param) {
System.out.println(param);
}
}
Run Code Online (Sandbox Code Playgroud)
提交表单时,"someparameter"的值始终报告为null,尽管在我输入的值的形式中.
我的问题是:
我正在使用Jersey 1.10.
Bjö*_*obs 14
好吧,谷歌搜索了几个小时后,我在代码中发现了错误.
您必须使用注释@FormDataParam而不是@FormParam.
生成的代码如下所示:
@Path("/test")
public class ServiceInterface {
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void execute(
@FormDataParam("someparameter") String param
@FormDataParam("inputfile") File inputfile
)
{
System.out.println(param);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21244 次 |
| 最近记录: |