У меня есть вид MVC 5 с формой и секцией загрузки файлов plupload. Загрузка запускается кнопкой в форме. У меня нет проблем с загрузкой фрагментов файла на сервер и установкой параметров в строку запроса и все, но у меня есть проблема с запуском загрузки только после того, как была выполнена обычная проверка работоспособности.Plupload: выполнить пользовательскую проверку перед загрузкой
Вот что я пробовал:
var uploader = new plupload.Uploader({
runtimes: 'html5',
drop_element: 'upload',
browse_button: 'browse',
url: "../UploadFile",
chunk_size: "1024kb",
multipart_params: { "uid": "uid", "chunk": "chunk", "chunks": "chunks", "name": "name" },
init: {
PostInit: function(file) {
document.getElementById("filelist").innerHTML = "";
document.getElementById('submit-all').onclick = function() {
document.getElementById("infoPopup").style.visibility = "visible";
document.getElementById('submit-all').enabled = false;
var uuid = Math.uuidFast();
document.getElementById("uid").value = uuid;
uploader.settings.multipart_params = { uid: uuid, chunk: file.chunk, chunks: file.chunks, name: file.name };
if (checkReq) {
uploader.start();
}
return false;
};
},
Решающую часть здесь заключается в следующем:
if(checkReq){
uploader.start();
}
«checkReq» мой пользовательское здравомыслие проверки скрипт, который проверяет, что значения формы не являются бессмысленными (например, записи одной формы могут быть совершенно правильными, в то время как в комбинации они просто неправильны и т. д.).
Таким образом, вышесказанное не предотвращает загрузку, скрипт проверки даже не запускается, вывод консоли Firebug не показывает ошибки.
Так говорит мне, прибегая к помощи, что есть и «BeforeUpload» событие, я попытался это:
BeforeUpload: function(up, file) {
if (checkReq) {
up.stop();
return false;
}
return true;
},
Который также, кажется, не срабатывать.
Edit: Следующая попытка, я положил призыв к моему checkReq Fuction в BeforeUpload в «PreInit», который должен огня до того, отрывы и т.д. делается, поэтому перед подготавливаются загрузка. Это также не, хотя я понятия не имею, почему это не пожар:
var uploader = new plupload.Uploader({
runtimes: 'html5',
drop_element: 'upload',
browse_button: 'browse',
url: "../UploadFile",
chunk_size: "1024kb",
multipart_params: { "uid": "uid", "chunk": "chunk", "chunks": "chunks", "name": "name" },
preinit: {
BeforeUpload: function (up) {
if (checkReq) {
uploader.stop();
uploader.splice(0, uploader.files.length);
return false;
}
return true;
}
},
init: {
PostInit: function(file) {
...
я использовал «dropzone.js» раньше, и мой сценарий работал хорошо с этим, но я обнаружил, что я нуждался в блочной загрузки, так что я должен был перейдите в plupload, и теперь мой скрипт игнорируется.
Не могли бы вы рассказать мне, где я здесь глуп? Благодаря!