如何使用fileUploader和GWT 2.4从服务器检索inputStream



我有一个fileUploader小部件,我用它来选择xml文件。然后我有一个按钮,当用户提交所选文件时调用viewImpl类中的处理程序。如果我理解正确的话,从那里我从formPanel做一个提交,文件就在服务器上了。

@UiHandler("calculateComplexityButton")
    void onClickCalculateComplexity(ClickEvent e){
        formPanel.submit();
        //How do I get the inputStream back to here????
        presenter.getTask(inputStream);
    }

我的问题是如何从服务器上获取inputStream ?我尝试使用RPC调用所有这一切,但当我试图获得inputStream我没有从服务器上拉任何东西。我试着:

inputStream = request.getInputStream();

,但它似乎是空的。对此有什么想法吗?

我放弃了RPC代码,并使用了我在这里找到的一个简单的HTTPRequest。这让我进入servlet,但请求没有文件流。当我到达代码中的这一行时:

FileItemIterator iter = upload.getItemIterator(request); //Nothing is here in iter.

您不能通过RPC进行上传,这就是为什么您必须将表单提交给servlet的原因。

final FormPanel form = new FormPanel();
form.setEncoding(FormPanel.ENCODING_MULTIPART);
form.setMethod(FormPanel.METHOD_POST);
form.setAction("/upload");

所以,当你执行form.submit()时,它会将你的文件发送给Action(Servlet)。在服务器端,您可以使用apache的库(commons-fileupload)。你有很多不同的方法来获取你的文件,你可以保存在磁盘上,在内存上读取....

相关内容

  • 没有找到相关文章

最新更新