【问题标题】:use dropzone without auto uploading在不自动上传的情况下使用 dropzone
【发布时间】:2017-01-03 01:32:22
【问题描述】:

我想使用拖放区拖放多个文件上传器。它所做的事情是使用 Ajax 自动将文件上传到服务器。但我希望它执行另一个功能。我希望每当我选择一个文件时,它应该创建一个 <input type="file" name="file1"><input type="file" name="file2"> 等等,每个字段都保存该文件。 所以,最后我点击提交按钮。那我应该可以手动上传了。


场景是我要上传产品。通过拖放,我将上传产品图片。我知道这张图片可以上传,值可以保存到数据库中,但是,在我还没有提交表单的时候,还没有产品 ID。并且在图像选项卡中有一个字段,我们可以在其中输入产品 ID。任何实现这一目标的建议。

【问题讨论】:

    标签: javascript jquery file-upload dropzone.js


    【解决方案1】:

    您应该将 autoProcessQueue 参数设置为 false。

    你可以这样做:

    HTML - 添加按钮

    <form action="your_action" class="dropzone" id="your_form_id">
         <div class="fallback">
             <input name="file" type="file" />
         </div>
    </form>
    
    <button type="button" id="btn_upload">Upload</button>
    

    JavaScript - 将 autoProcessQueue 设置为 false,在按钮 ID 上添加点击事件并触发 processQueue 事件以上传文件

    Dropzone.options.your_form_id = {
        autoProcessQueue: false,
    
        init: function (e) {
    
            var myDropzone = this;
    
            $('#btn_upload').on("click", function() {
                myDropzone.processQueue(); // Tell Dropzone to process all queued files.
            });
    
            // Event to send your custom data to your server
            myDropzone.on("sending", function(file, xhr, data) {
    
                // First param is the variable name used server side
                // Second param is the value, you can add what you what
                // Here I added an input value
                data.append("your_variable", $('#your_input').val());
            });
    
        }
    };
    

    【讨论】:

    • 我不只是上传文件。我也必须将他们的地址存储到数据库中。当我提交表单时,它将如何完成。
    • 有什么问题?在您的 html 表单中,您有您的操作,您可以在服务器端执行您想要的操作(存储到数据库、压缩等)
    • 因此,您希望将图片选项卡中输入文本中的产品 ID 发送到您的服务器。对吗?
    • 比如,添加新产品时,我必须提供描述和所有其他内容,我还必须上传图片并将文件名与字段一起保存在表格中,以放置我将获得的产品 ID添加产品后。
    • table1 p_id name cost etc table2 id image p_id(p_id 只是 AI 字段)
    猜你喜欢
    • 2020-11-25
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多