Я использую плагин загрузки файла jQuery для своего сайта.Загрузка файла jQuery: обнаружение, если выбран тот же файл
После нажатия кнопки «Обзор ...» я вызываю обратный вызов uploadadd. Однако он запускает пользователя EVERYTIME, который добавляет файл. Даже если он добавит SAME FILE.
Мне нужно, чтобы либо обработать обратный вызов uploadadd только один раз для каждого уникального файла, либо получить уникальный идентификатор файла, чтобы я мог хранить его в массиве файлов. В этом случае я могу определить, был ли файл уже выбран.
Я пытался использовать массив данных из функции обратного вызова в:
function (e, data) { }
, но он содержит только информацию размера файла/имя файла/Filetype поэтому я не могу создать уникальный хэш от него, так как два или более файлов могут иметь такая же информация.
Вот мой код:
$('#fileupload').fileupload({
url: "/upload/",
dataType: 'json',
autoUpload: false,
add: function (e, data) {
console.log(data.files[0]);
qcount += 1;
$('#select-button').text(qcount + ' files');
data.submit();
});
});
В Uploadify плагин можно использовать onAddQueueItem обратный вызов, но JQuery-File-Upload, кажется, не имеет такую же функциональность.
Заранее благодарен!
Я не могу использовать file.name + file.size как хэш, поскольку он небезопасен. Что делать, если есть два файла с именем «1.jpg» и 1024 байта? – Gregory
Ну, я пробовал ваш исходный код, но он терпит неудачу, когда я загружаю два разных изображения, но с тем же именем и файлами. – Gregory
Что важнее для вас - два файла с одинаковым именем и размером? Вы всегда можете закодировать на сервере, чтобы поймать тот или иной. Я думаю, что было бы разумнее поймать тот же файл и имя файла на передней панели, но если вы хотите, чтобы люди это делали, тогда, ладно. – taco