Я использую blueint jquery.fileupload плагин для загрузки файлов с помощью asp.netОтключение автоматического скачивания на Blueimp JQuery Файл Загрузить
У меня есть ситуации, когда у меня есть страницы, чтобы позволить пользователю выбрать категорию (dropdownlistbox), заголовок (для загруженного файла - TextBox) и ввод файла (обрабатываемый плагином).
плагин: https://github.com/i-e-b/jQueryFileUpload.Net
JavaScript/JQuery:
$('#fileup').fileupload({
replaceFileInput: false,
formData: function (form) {
return [{ name: 'dcat', value: $('#ddlCats').val() }, { name: 'title', value: $('#txtTitle').val()}];
},
dataType: 'json',
url: '/_handlers/FileHandler.ashx',
add: function (e, data) {
var valid = true;
var re = /^.+\.((doc)|(xls)|(xlsx)|(docx)|(pdf)|(pts))$/i;
$.each(data.files, function (index, file) {
if (!re.test(file.name)) {
$('#uploaded').html('This file type is not supported');
valid = false;
}
});
if (valid)
data.submit();
},
done: function (e, data) {
$.each(data.result, function (index, file) {
$('#uploaded').html(file);
});
GetFiles($('#ddlCats').val())
},
error: function() {
alert('An error occured while uploading the document.');
}
});
HTML:
<div id="fUpload">
<span style="font-weight:bold;">Yeni Belge:</span><br />
<table class="ktoeos">
<tr>
<td>Category:</td>
<td> <select id="ddlCats"></select></td>
</tr>
<tr>
<td>Document Description:</td>
<td><input type="text" id="txtTitle" /></td>
</tr>
<tr>
<td>Select Document:</td>
<td><input type="file" name="file" id="fileup" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" id="btnSubmit" value="Upload" /></td>
</tr>
</table>
<div id="uploaded"></div>
Моя проблема, файл получает загружены (через обработчик HTTP) сразу после того, как я выберите файл. Я могу обработать его, чтобы отправить другие данные формы вместе с ним, однако, я хочу запустить это событие на кнопку submit, поскольку мне нужно выполнить некоторую проверку. Также пользователь может сначала выбрать файл, а затем заполнить другие части формы, которые в этом случае он/она не может сделать, из-за формы, которая будет представлена до того, как он сможет это сделать.
Поскольку я не очень хороший javascript-программист, я понятия не имею, доступна ли эта функциональность (которая, вероятно, есть) в файлах .js, доступных с помощью плагина. Любые идеи, что мне нужно изменить или сделать?
Спасибо за ответ, у меня не было этого файла, так что я скачал и включил его в свой проект, и в верхней части соответствующей страницы. Затем изменил autoUpload на false, как было предложено, но ничего не изменилось. Все равно загружает, как только я выбираю файл. Нужно ли мне что-то менять в коде? У меня эти файлы включены. Может быть, есть что-то об этом: + JQuery-1.7.js + JQuery-щ-1.8.17.custom.min.js + jquery.fileupload.js + jquery.iframe-transport.js + JQuery. fileupload-ui.js –
@ Emin-Вот путь к файлу jquery fileupload-ui.js, с которого вы указали ссылку jQueryFileUpload.Net/jQueryFileUpload/scripts/Default/jquery.fileupload-ui.js (или) вы можете найти реализацию asp.Net здесь http://www.webtrendset.com/2011/06/22/complete-code-example-for-using-blueimp-jquery-file-upload-control-in-asp-net/ – coder
@ Emin-Перейти на эту страницу https://github.com/blueimp/jQuery-File-Upload/downloads загрузить последнюю версию и открыть ее в браузере решений и перейти в папку js, и в этом вы можете найти jquery.fileupload- ui.js и выполните поиск autoupload и установите для него значение 'false' вместо 'tr уе. и если вы хотите использовать bootstrapper, тогда вы должны использовать JQuery 1.7+ – coder