Как минимум, вы можете проверить свойство type
во время итерации по выбранным файлам. Тип PDF, который вы хотите искать, - application/pdf
.
Для настоящих MIME-типов вы захотите использовать FileReader и Blob для оценки файла (ов). Но это еще одна банка червей.
Попробуйте выбрать файл PDF в этом фрагменте ...
$('input[type="file"]').on('change', function() {
Object.values(this.files).forEach(function(file) {
console.log(`Type: ${file.type}`);
if (file.type == 'application/pdf') {
console.log('Huzzah!')
}
})
})
Ваша информация устарела. Это ориентировано на многопотоковое исполнение с 2.2.2
Следует иметь в виду МРТ Ruby 1.8.x, наиболее широко используемая реализация Ruby использует Зеленые Потоки, таким образом, с 1.8.x, если Вы создаете 100 потоков, они все работают на том же ЦП. Поэтому при хостинге веб-сайтов направляющих с помощью МРТ, Вы, вероятно, хотите столько экземпляров выполнения Ruby, сколько у Вас есть CPU. Материал как пассажир заботится об этом для Вас.
Это раньше было большой проблемой для JRuby, потому что JRuby имеет Собственные потоки, и манипулирующие процессы кажутся лишними. Так или иначе, его разобранный теперь.
На в стороне, Iron Ruby, интерпретатор.Net Ruby выполняет собственные потоки.
Примечание: Ruby 1.9.1 собственных потоков использования, но существует все еще глобальный интерпретатор, закрепляет.
В основном то, что это говорит, - то, что у Вас не может быть нескольких копий направляющих, работающих в том же процессе под различными потоками, потому что для некоторых ресурсов возможно протечь между потоками, неумышленно вызывающими странное поведение, такими как объекты, по-видимому изменяющиеся/исчезающие наугад времена.
Кроме того, могло также иметь место, что классы не разработаны ни с какой синхронизацией, встроенной в них, мешая помещать части направляющих в потоки и иметь другие части быть общими для потоками.
Стоит упомянуть, что Ruby MRI 1.8.x использует зеленые потоки, но Ruby MRI 2 будет иметь собственные потоки.