GWT 中的拖放文件上传在 IE 11、MS Edge 中不起作用

Drag and Drop File upload in GWT not working in IE 11, MS Edge

我有一个为客户构建的现有 GWT 项目,它具有通过良好的旧文件对话上传多个文件的功能。它适用于所有浏览器。 我想添加一个功能来提供一个小的放置区域,用户可以在其中放置文件并期望它们被上传。我想通过对现有代码进行最少的更改来完成此操作,因此我 运行 快速搜索 GWT 对文件 API 的支持。好像还在实验阶段

那我复习题了 Drag and Drop file upload with GWT

GWT Drag and Drop File Upload not working

File upload with a progress bar, or accessing the Html 5 File Api from Google Web Toolkit?

感谢第一个问题,我从Moxie group找到了一个gwt-uploader库。我在我的代码中实现了它,它在 Firefox 上运行得非常棒。 它在 Chrome 上也运行良好。 不幸的是无法在 IE 11 和 MS Edge 浏览器上运行。

我使用此处显示的示例示例“带进度条和拖放的多文件上传”http://www.moxiegroup.com/moxieapps/gwt-uploader/showcase/index.jsp 作为我的代码的基础。 此示例也不适用于 IE 11 和 MS Edge。

有什么想法可能是错误的吗?

回答我自己的问题,这对可能遇到类似问题的人有帮助。 由于 Moxie GWT-uploader 代码大约 3 年没有更新,我怀疑该库有问题,但经过几天的搜索并没有找到任何其他有用的替代库,我决定尝试修复 Moxie。原来我完全走错了路。 当我开始谷歌搜索 IE 11 时,MS Edge 支持拖放(我认为这显然是受支持的,因为这些是现代浏览器)并发现了错误。

  1. MS Edge - 尚不支持拖放文件 这个问题已经回答了 - drag-and-drop 从那里我找到了前往 MS Edge Developer 建议站点的方式,显然它仍在开发中。找到答案的人...如果 MS Edge 仍不支持此功能,请在下方 link 投票。 https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/8964523-support-html5-drag-and-drop-of-files-from-explorer
  2. IE 11 - 支持拖放。但是,我使用 gwt-uploader 演示来创建我的源代码,结果发现 drop Label 缺少高度属性。这是原始来源。

    <div class="dropFilesLabel">Drop Files Here</div>
    

    Class dropFilesLabel 样式

    .dropFilesLabel {
        margin-top: 6px;
        padding-top: 28px;
        padding-bottom: 28px;
        font-family: verdana, arial, sans-serif;
        font-size: 12px;
        color: #2d4b6d;
        font-weight: bold;
        text-align: center;
        display: block;
        border: 2px dashed #888888;
        border-radius: 7px;
    }
    

    它没有最小高度或高度属性。由于填充,它实际上是可见的。我将样式 sheet 更改为使用 min-height:16 px 并相应地减少了顶部和底部的填充,它在 IE11 中工作。 感谢这个 YouTube 视频为我提供了 IE11 答案的解决方案 https://www.youtube.com/watch?v=7M5rJ58xaLk