首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启用Dropzone选项?autoDiscover破坏了Dropzone的功能。

如何启用Dropzone选项?autoDiscover破坏了Dropzone的功能。
EN

Stack Overflow用户
提问于 2015-04-27 22:23:59
回答 3查看 30.2K关注 0票数 12

因此,我尝试了下面的解决方案:

Dropzone image upload options not working :(

但是,每当我提供选项时:

代码语言:javascript
复制
        Dropzone.autoDiscover = false;

dropzone从显示默认的拖放外观变为只显示带有“浏览”按钮的文本。

以下是我的代码(dropzone包含在header中):

代码语言:javascript
复制
<script type="text/javascript">
        $(document).ready(function () {

            Dropzone.autoDiscover = false;
            $("#uploadme").dropzone({
                maxFilesize: 5000,
                dictDefaultMessage: "Drop your file here to upload (multiple files require being zipped)",
                uploadMultiple: false,
                addRemoveLinks: true
            });

        });
    </script>

    <h5>Test space for FTP</h5>
    <asp:Label ID="lblError" runat="server"></asp:Label>

    <div class="mainContent">
        <form runat="server" method="post" enctype="multipart/form-data"
            class="dropzone"
            id="ftpUpload">
            <div class="fallback" id="uploadme">
                <input type="file" name="file" multiple />
                <input type="submit" value="Upload" />
            </div>
        </form>
    </div>

因此,问题是,如何在不破坏默认外观的情况下为dropzone指定选项?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-28 04:04:26

我自己想出来的。我是Javascript Web Forms的新手,忘记了ASP.NET是客户端的,因此引用了客户端和服务器端不同的元素I。我查看了源代码,发现表单的ID是"aspnetForm",因此我将选项代码更改为:

代码语言:javascript
复制
Dropzone.options.aspnetForm = {
            uploadMultiple: false,
            maxFiles: 1,
            maxFilesize: 5000,

等。

现在它起作用了!

票数 3
EN

Stack Overflow用户

发布于 2017-06-01 14:48:29

祝你好运

代码语言:javascript
复制
@{
}

<div id="dropzone">
    <form action="/Photo/Upload" class="dropzone" id="uploader" enctype="multipart/form-data"></form>
</div>

@section Styles{
    <link rel="stylesheet" type="text/css" href="~/lib/dropzone/dist/basic.css" />
    <link rel="stylesheet" type="text/css" href="~/lib/dropzone/dist/dropzone.css" />

}
@section Scripts{
    <script src="~/lib/dropzone/dist/dropzone.js"></script>

    <script>
        Dropzone.autoDiscover = false;
        window.onload = function () {

            var dropzoneOptions = {
                dictDefaultMessage: 'Drop Here!',
                paramName: "file",
                maxFilesize: 2, // MB
                addRemoveLinks: true,
                init: function () {
                    this.on("success", function (file) {
                        console.log("success > " + file.name);
                    });
                }
            };
            var uploader = document.querySelector('#uploader');
            var newDropzone = new Dropzone(uploader, dropzoneOptions);

            console.log("Loaded");
        };
    </script>
}
票数 11
EN

Stack Overflow用户

发布于 2018-06-28 22:20:22

四个选项:

  1. 不要在表单中使用类.dropzone,这样自动发现就不会拾取它。如果你想使用默认的CSS
  2. ,可以通过设置Dropzone.options.${ formname }来设置加载后的选项,其中formname是表单的camelCased ID。
  3. 通过附加到元素的dropzone属性访问加载后的选项。

您可以通过索引访问它:Dropzone.instances[0].optionsdocument.querySelector(formname).dropzone.options

如果您使用后面的步骤(如他们的站点所推荐的那样),您还可以在元素上设置URL等选项,并通过以下方式合并这些选项:

代码语言:javascript
复制
let dz = document.querySelector(formname).dropzone
dz.options = { ...dz.options, ...{ myopts } }
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29898429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档