在GWT中上传基本文件

我试图弄清楚如何使用GWT的FileUpload小部件上传一个文件。我正在将GWT和Google AppEngine与Java一起使用,但是我想将文件上传到自己的Linux服务器上。我已经有以下代码,但是现在我不知道如何将文件提交到Google AppServer服务器并将其保存到另一台服务器:


public class FileUploader{


    private ControlPanel cp;

    private FormPanel form = new FormPanel();

    private FileUpload fu =  new FileUpload();


    public FileUploader(ControlPanel cp) {

        this.cp = cp;

        this.cp.setPrimaryArea(getFileUploaderWidget());

    }


    @SuppressWarnings("deprecation")

    public Widget getFileUploaderWidget() {

        form.setEncoding(FormPanel.ENCODING_MULTIPART);

        form.setMethod(FormPanel.METHOD_POST);

        // form.setAction(/* WHAT SHOULD I PUT HERE */);


        VerticalPanel holder = new VerticalPanel();


        fu.setName("upload");

        holder.add(fu);

        holder.add(new Button("Submit", new ClickHandler() {

            public void onClick(ClickEvent event) {

                GWT.log("You selected: " + fu.getFilename(), null);

                form.submit();

            }

        }));


        form.addSubmitHandler(new FormPanel.SubmitHandler() {

            public void onSubmit(SubmitEvent event) {

                if (!"".equalsIgnoreCase(fu.getFilename())) {

                    GWT.log("UPLOADING FILE????", null);

                                        // NOW WHAT????

                }

                else{

                    event.cancel(); // cancel the event

                }


            }

        });


        form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {

            public void onSubmitComplete(SubmitCompleteEvent event) {

                Window.alert(event.getResults());

            }

        });


        form.add(holder);


        return form;

    }

}

现在,我接下来需要做什么?我需要放入web.xml中的内容以及如何编写servlet,以便可以存储文件并返回该对象的url(如果可能)


慕少森
浏览 798回答 3
3回答

小唯快跑啊

我建议使用GWTUpload,因为它很难使用和扩展。您可以在不到10分钟的时间内将其添加到您的项目中,并且它即开即用地支持GAE(使用GWTUpload-GAE)。请参阅示例以了解一些常用用法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java