浏览器删除文件事件GWT

时间:2013-01-24 10:04:11

标签: gwt browser gxt

我的浏览器行为问题是丢弃文件。我有一个“ContentPanel”,其中包含一个文件拖放区域。当我拖放文件时,一切都很好但是当我将文件放在“ContentPanel”内的其他位置时,浏览器会打开文件(默认情况下是行为)。

我该如何避免这种情况?在最后一种情况下不会发生任何事情。

1 个答案:

答案 0 :(得分:2)

需要2个下拉处理程序,一个用于内容面板,另一个用于拖放区域。

public FileUploadWidget() {

    RootPanel rootPanel = RootPanel.get();
    DropHandler dropHandlerRoot = new DropHandler(rootPanel);

    dropHandlerRoot.addFileEventHandler(new FileEventHandler() {
        @Override
        public void onFiles(FileEvent event) {
            // Nothing to do, avoid the default browser 
            // behaviour which is to open the file
        }
    });

    // Drag and drop area handler
    dropHandler = new DropHandler(dragAndDropArea);
    dropHandler.addFileEventHandler(new FileEventHandler() {
        @Override
        public void onFiles(FileEvent event) {
            JsArray<File> files = event.getFiles();

            for (int i = 0; i < files.length(); ++i) {
                File file = files.get(i);
                addFile(file);
                handleSizeChange();
            }
        }
    });
}