Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jersey上传文件时无法授权用户_Java_File Upload_Jersey_Multipartform Data_Security Context - Fatal编程技术网

Java Jersey上传文件时无法授权用户

Java Jersey上传文件时无法授权用户,java,file-upload,jersey,multipartform-data,security-context,Java,File Upload,Jersey,Multipartform Data,Security Context,在默认函数中,我可以使用ContainerRequestContext requestCtx从请求中获取securitycontext和用户名 但由于某些原因,当在使用MediaType.MULTIPART\u FORM\u数据的函数中使用此函数时,我得到以下错误: org.glassfish.jersey.server.model.ModelValidationException:应用程序资源模型的验证在应用程序初始化期间失败 代码: 如果没有ContainerRequestContext r

在默认函数中,我可以使用ContainerRequestContext requestCtx从请求中获取securitycontext和用户名

但由于某些原因,当在使用MediaType.MULTIPART\u FORM\u数据的函数中使用此函数时,我得到以下错误:

org.glassfish.jersey.server.model.ModelValidationException:应用程序资源模型的验证在应用程序初始化期间失败

代码:

如果没有ContainerRequestContext requestCtx,上面的代码就可以正常工作


从我的ContainerRequestContext获取数据并同时上传文件的最佳方式是什么?

在阅读随机帖子时找到了解决方案。我发现在ContainerRequestContext requestCtx前面添加@Context注释解决了这个问题

我希望我能帮助其他人解决这个问题,因为我找不到其他类似的答案

@POST
@Path("{albumcode}")
@RolesAllowed("user")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadPicture(@PathParam("code") String code,
FormDataMultiPart multipart, 
@Context ContainerRequestContext requestCtx) {
@POST
@Path("{albumcode}")
@RolesAllowed("user")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadPicture(@PathParam("code") String code,
FormDataMultiPart multipart, 
@Context ContainerRequestContext requestCtx) {