在JavaScript中验证除扩展名之外的PDF文件,可以使用以下方法:
const fileInput = document.getElementById('file-input');
fileInput.addEventListener('change', (event) => {
const file = event.target.files[0];
const reader = new FileReader();
reader.onload = (e) => {
const fileContent = e.target.result;
if (isPDF(fileContent)) {
console.log('这是一个PDF文件');
} else {
console.log('这不是一个PDF文件');
}
};
reader.readAsArrayBuffer(file);
});
function isPDF(fileContent) {
const pdfHeader = new Uint8Array([0x25, 0x50, 0x44, 0x46]);
const fileContentBytes = new Uint8Array(fileContent);
for (let i = 0; i < pdfHeader.length; i++) {
if (pdfHeader[i] !== fileContentBytes[i]) {
return false;
}
}
return true;
}
这样,当用户选择一个文件时,我们可以通过FileReader和Blob对象读取文件内容,并使用isPDF函数检查文件内容是否为PDF格式。如果文件内容是PDF格式,则输出“这是一个PDF文件”,否则输出“这不是一个PDF文件”。
需要注意的是,这种方法只能检查文件内容是否为PDF格式,而不能检查文件扩展名。因此,如果需要同时检查文件扩展名,可以在读取文件内容之前进行扩展名检查。
领取专属 10元无门槛券
手把手带您无忧上云