При разработке веб-приложения, требующего функции загрузки файлов, часто необходимо ограничить типы файлов, которые могут быть приняты. В этой статье мы рассмотрим несколько методов реализации проверки формы, позволяющей загружать только файлы PDF. Мы предоставим примеры кода для каждого метода, чтобы помочь вам интегрировать эту функцию в ваши собственные проекты.
Метод 1: атрибут принятия HTML
Самый простой способ обеспечить проверку типа файла — использовать атрибут принятия HTML. Указав значение «application/pdf» для атрибута принятия элемента ввода файла, вы можете ограничить выбор файлов только файлами PDF.
<form>
<input type="file" accept="application/pdf">
<input type="submit" value="Upload">
</form>
Метод 2: проверка типа файла JavaScript
Если вам нужен больший контроль над процессом проверки, вы можете использовать JavaScript для проверки типа выбранного файла перед отправкой формы. Вот пример использования JavaScript:
<form>
<input type="file" id="pdfFile">
<input type="submit" value="Upload" onclick="validateFile()">
</form>
<script>
function validateFile() {
var fileInput = document.getElementById("pdfFile");
var filePath = fileInput.value;
var allowedExtensions = /(\.pdf)$/i;
if (!allowedExtensions.exec(filePath)) {
alert("Please upload only PDF files.");
return false;
}
}
</script>
Метод 3: проверка на стороне сервера
Проверку на стороне клиента можно обойти, поэтому важно также выполнять проверку на стороне сервера. В зависимости от вашей серверной технологии вы можете проверить расширение или MIME-тип загруженного файла, чтобы убедиться, что это PDF-файл.
Вот пример на PHP:
<?php
$allowedExtensions = array("pdf");
$fileName = $_FILES["file"]["name"];
$fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
if (!in_array(strtolower($fileExtension), $allowedExtensions)) {
echo "Please upload only PDF files.";
return;
}
// Process the uploaded file
?>