Мне нравится реализовывать Dropzone в существующем приложении ASP.Net.
Основное намерение здесь состоит в том, чтобы использовать Dropzone только для пользовательского интерфейса и использовать событие нажатия кнопки ASP.Net для обработки загрузки файла.
HTML выглядит как ниже
<html>
<body>
<form id="form1" runat="server">
// Other input controls
/**** Upload region - START ****/
<div id="id_dropzone" class="dropzone">
<div class="fallback">
<asp:FileUpload ID="FileUploadControl" runat="server" AllowMultiple="true" CssClass="myDropzoneCtrl"/>
</div>
</div>
<asp:Button Text="Upload" ID="SaveUploadBtn" CssClass="btn-upload-save" runat="server"/>
/***** Upload region- END ****/
</form>
</body>
</html>
1010 * Javascript *
$(".myDropzoneCtrl").dropzone({
maxFiles: 2000,
url: "/", //Url is required so added a dummy url
autoProcessQueue: false, // Will pause the files
uploadMultiple: true,
success: function (file, response) {
console.log(response);
});
Я хочу использовать существующий код в коде ASP.Net (SaveUploadBtn_Click) для обработки файлов вместо вызовов Ajax Dropzone, но Dropzone должен обрабатывать внешний вид интерфейса.
Что я сделал, это
- Запрет Ajax-вызова (autoProcessQueue: false) и
- добавлена отдельная кнопка ASP.Net для загрузки файлов (#SaveUploadBtn)
Но на стороне сервера (SaveUploadBtn_Click)
Request.Files и FileUploadControl.PostedFiles имеют значение NULL
* 1 028 * (ИЛИ)
Есть ли какой-нибудь способ переместить файлы dropzone в элемент управления загрузкой файлов ASP (FileUploadControl) через Jquery. Если это так, я делаю следующие шаги,
- Скрыть FileUploadControl
- Через Jquery заполняет файлы из Dropzone в FileUploadControl
- Вызовите вызов сервера, нажав кнопку ASP.Net.
Ссылка, на которую я ссылался, приведена ниже, но в ней используется функция Ajax dropzone.
https://codepedia.info/using-dropzone-js-file-image-upload-in-asp-net-webform-c/
Спасибо