5

我已经按照教程将正常形式与 Dropzone 结合起来https://github.com/enyo/dropzone/wiki/Combine-normal-form-with-Dropzone),生成的页面在最新版本的 Google Chrome 中完美运行。

但是,当我在 IE10 中测试同一页面时,拖放不起作用。放置区是可点击的,我可以将文件上传到服务器,因此放置区已正确初始化。只是拖放功能不起作用。

当我在http://www.dropzonejs.com/上尝试演示时,拖放在 IE10 中工作。

我检查了 IE 互联网选项,一切都已启用,我还将 localhost 添加到受信任的站点。

这是我的代码:

<script src="~/Scripts/dropzone.js"></script>
<script type="text/javascript">
    Dropzone.options.dropzoneForm = {
        autoProcessQueue: false,
        uploadMultiple: true,
        parallelUploads: 100,
        maxFiles: 100,
        addRemoveLinks: true,
        createImageThumbnails: false,

        // The setting up of the dropzone
        init: function() {
            var myDropzone = this;

            // First change the button to actually tell Dropzone to process the queue.
            this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
                // Make sure that the form isn't actually being sent.
                e.preventDefault();
                e.stopPropagation();
                myDropzone.processQueue();
            });
        }
    };
</script>

<form action="~/FileUpload/SaveUploadedFiles" method="post" enctype="multipart/form-data" class="dropzone" id="dropzoneForm">
    <div class="dropzone-previews"></div>
    <button type="submit">Submit data and files!</button>
</form>

当然,样式表也会添加到页面中。

我错过了一些配置还是浏览器的问题?

4

3 回答 3

17

事实证明,当我从 Visual Studio 以调试模式访问页面时,拖放不起作用。如果我从新打开的浏览器访问该页面,它就可以正常工作。

根据线程http://social.msdn.microsoft.com/Forums/silverlight/en-US/383198a9-dbb4-4f94-8713-484e5bacb14b/dragdrop-not-active-during-debugging?forum=silverlightdevtools这可能发生如果 Visual Studio 和 IE 使用不同的帐户/权限执行。在我的情况下,Visual Studio 以管理员身份运行。

由于我不需要在此页面上调试客户端脚本,因此我将在测试页面时在新的 IE 中打开该站点。

于 2013-11-06T07:00:11.647 回答
2

您必须在 bundleconfig 中使用这些代码行

        // dropZone styles
        bundles.Add(new StyleBundle("~/Scripts/dropZone").Include(
                  "~/Scripts/dropzone/css/basic.css",
                  "~/Scripts/dropzone/css/dropzone.css"));

        // dropZone 
        bundles.Add(new ScriptBundle("~/Scripts/dropzone").Include(
                  "~/Scripts/dropzone/dropzone.js"));

在您的解决方案中注意与您的脚本路径相匹配的脚本路径 非常重要:(SOS)- css 必须是第一个,然后是 js 文件,如示例所示。

于 2016-11-14T15:36:11.043 回答
1

检查您的 head 部分,看看您是否强制与旧版本的 IE 兼容。开发人员将我们的设置为 IE=9,每次在 IE11 中上传文件时都会导致 500 内部服务器错误。

于 2016-04-28T00:07:31.433 回答