使用Errai上传多部分表单

时间:2013-09-05 04:19:22

标签: java gwt errai

我正在尝试为我的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方法。

我对上传服务进行编码的方式可能有什么问题?

1 个答案:

答案 0 :(得分:0)

您是否在表单上设置了mime类型?像这样

<form enctype='multipart/form-data'>