我正在尝试为我的 Errai 应用程序上传文件,但是我收到了这个错误:
[INFO] DEBUG [SynchronousDispatcher] PathInfo: /blob
[INFO] WARN [ExceptionHandler] Failed executing GET /blob
[INFO] org.jboss.resteasy.spi.NotAcceptableException: No match for accept header
[INFO] at org.jboss.resteasy.core.registry.Segment.match(Segment.java:119)
[INFO] at org.jboss.resteasy.core.registry.PathParamSegment.matchPattern(PathParamSegment.java:200)
[INFO] at org.jboss.resteasy.core.registry.RootSegment.matchChildren(RootSegment.java:339)
Errai 服务如下所示:
@Path("blob")
public interface BlobService {
@GET
@Produces(MediaType.TEXT_PLAIN)
String getBlobStoreUploadUrl(); // return "/blob/upload"
@GET
@Path("/{id}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
Picture getPicture(@PathParam("id") String id);
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
void uploadPicture();
}
现在,以这种方式触发上传:
submitButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent e) {
blobService.call(new RemoteCallback<String>() {
@Override
public void callback(String response) {
uploadForm.setAction(response);
uploadForm.submit();
uploadForm.reset();
}
}).getBlobStoreUploadUrl();
}
});
从我的文件上传方式似乎存在差异。这里的想法只是将通常上传表单中选择的文件上传到uploadPicture
方法中。
我编码上传服务的方式可能有什么问题?