Как я могу сбросить плагин Blueimp JQuery Fileupload?

Суть: Как я могу сбросить плагин BlueMP jQuery fileupload, чтобы он думал, что файлы уже не были загружены?

Мой сценарийУ меня есть форма загрузки, которая позволяет загружать только один файл.Как только этот файл загружен, он анализируется. На этом этапе пользователь имеет возможность нажать кнопку «Отмена», где я сбрасываю оставшуюся часть моей модели просмотра.Когда пользователь нажимает кнопку «Отмена», я хотел бы сбросить количество загруженных пользователем файлов, потому что они по сути запускаются заново.Я все еще хочу, чтобы максимум один файл применялся после сброса.Что происходит в настоящее времяЗагрузить файлНажмите кнопку отмены, все сбрасывается (т.е. я повторно инициализирую элемент управления загрузкой файлов)Попытка загрузить файл, и мне все еще сообщают, что достигнуто максимальное количество файлов.Что я пробовал

Я попытался вызвать fileupload ('destroy') и затем повторно инициализировать, но это, похоже, не дало результата (я надеялся, что уничтожение также разрушит отслеживание экземпляра).

Мои вопросы):Каков наилучший способ уничтожить / повторно инициализировать / сбросить элемент управления загрузки, как если бы он запускался с нуля?Если их нет, есть ли способ программно заставить blueimp думать, что нулевые файлы были загружены после того, как один уже есть, чтобы эффективно его сбросить? Заранее спасибо за любую помощь, которую вы можете оказать!Примечание к версии:

К вашему сведению, я на v8.8.1 - я бы предпочел не обновлять, потому что коллега изменил часть кода определенным образом - тьфу. Мы планируем удалить эту настройку и обновить, но в запланированные сроки. Если мне нужно обновить, чтобы решить эту проблему, не стесняйтесь, дайте мне знать, потому что это совершенно справедливо.

Обновление: некоторый код

Первый элемент управления загрузкой файлов на странице:

<form id="summaryFileUploadForm" action="/api/InvoiceDetailsFile/PostForProcessing" method="POST"
    enctype="multipart/form-data" data-bind="disableFileUpload: InvoiceHasSummaryDocument() || (!InvoiceDataIsFilledIn())">

    <div class="fileupload-buttonbar">
        <div class="fileupload-buttons">

            <!-- The fileinput-button span is used to style the file input field as button -->
            <span class="fileinput-button">
                <span>Add files...</span>
                <input id="file" type="file" name="file" />
            </span>

            <span class="fileupload-loading"></span>
        </div>
        <!-- The global progress information -->
        <div class="fileupload-progress fade" style="display: none">
            <!-- The global progress bar -->
            <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100"></div>
            <!-- The extended global progress information -->
            <div class="progress-extended">&nbsp;</div>
        </div>
    </div>
    <div data-bind="fadeVisible: InvoiceHasSummaryDocument()">
        <span class="ui-icon ui-icon-check float-left"></span><span>A summary document has been uploaded.</span>
    </div>
    <span data-bind="fadeVisible: (!InvoiceDataIsFilledIn())">Please fill out invoice information before uploading a file.</span>
    <!-- The table listing the files available for upload/download -->
    <table role="presentation">
        <tbody class="files" id="Tbody1"></tbody>
    </table>

    <script id="summaryFileDownloadTemplate" type="text/x-tmpl">

    </script>
</form>

Второй элемент управления загрузкой файлов на странице:

<form id="detailsFileUploadForm" action="/api/InvoiceDetailsFile/PostForProcessing" method="POST"
    enctype="multipart/form-data" data-bind="disableFileUpload: Invoice().DetailItems().length > 0 || (!InvoiceHasSummaryDocument())">

    <div class="fileupload-buttonbar">
        <div class="fileupload-buttons">

            <!-- The fileinput-button span is used to style the file input field as button -->
            <span class="fileinput-button">
                <span>Add files...</span>
                <input id="file" type="file" name="file" />
            </span>

            <span class="fileupload-loading"></span>
        </div>
        <!-- The global progress information -->
        <div class="fileupload-progress fade" style="display: none">
            <!-- The global progress bar -->
            <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100"></div>
            <!-- The extended global progress information -->
            <div class="progress-extended">&nbsp;</div>
        </div>
    </div>
    <span><strong>NOTE: </strong>Only Excel 2007+ (.xlsx) files are accepted. <a href="<%= ResolveUrl("~/asset/xlsx/Ligado_InvoiceUploadTemplate_Standard.xlsx") %>" target="_blank" id="A1">Need a blank Invoice Upload template?</a><br />
    </span>
    <span data-bind="fadeVisible: Invoice().DetailItems().length > 0">Invoice details have been uploaded.</span>
    <span data-bind="fadeVisible: (!InvoiceHasSummaryDocument())">Please upload a summary file prior to uploading a details file.</span>

    <!-- The table listing the files available for upload/download -->
    <table role="presentation">
        <tbody class="files" id="fileList"></tbody>
    </table>
    <script id="template-upload" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-upload fade" style="display:none">
        <td>
            <span class="preview"></span>
        </td>
        <td>
            <p class="name">{%=file.name%}</p>
            {% if (file.error) { %}
                <div><span class="error">Error:</span> {%=file.error%}</div>
            {% } %}
        </td>
        <td>
            <p class="size">{%=o.formatFileSize(file.size)%}</p>
            {% if (!o.files.error) { %}
                <div class="progress" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"></div>
            {% } %}
        </td>
        <td>
            {% if (!o.files.error && !i && !o.options.autoUpload) { %}
                <button class="start">Start</button>
            {% } %}
            {% if (!i) { %}
                <button class="cancel">Cancel</button>
            {% } %}
        </td>
    </tr>
{% } %}
    </script>

    <script id="template-download" type="text/x-tmpl">

    </script>
</form>

Я могу очистить первый элемент управления с помощью:

    $("tbody.files").empty();

предположительно потому, что файл уже был загружен в этот момент (что нормально).

Тем не менее, это не работает для второй формы. Я пытался:

    $("#detailsFileUploadForm").find('.cancel').click();

Это заставляет элементы исчезать со страницы, но они появляются снова, когда добавляется дополнительный файл.

Я также пытался$("#detailsFileUploadForm").fileupload('destroy') безуспешно (вероятно, потому что он не обрабатывает эти функции и больше связан с привязками.

Ответы на вопрос(2)

Ваш ответ на вопрос