我正在使用文件类型的幻数 十六进制值检查 mime类型验证但是它无效它无法检查<\ n strong> 返回错误的提醒消息 ,即使该文件具有 右十六进制值 作为标题。
以下是代码中的详细信息:
jQuery(document).ready(function() {
jQuery.fn.hasMimetype = function(ctrl) {
try {
ctrl.value = null;
} catch(ex) { }
if (ctrl.value) {
ctrl.parentNode.replaceChild(ctrl.cloneNode(true), ctrl);
}
}
const fileSelector2 = document.getElementById('file')
jQuery('#file').change(function(event) {
const file = event.target.files[0]
//alert(file.type);
const filereader = new FileReader()
filereader.onloadend = function(evt) {
var header2 = "";
var arr = (new Uint8Array(evt.target.result)).subarray(0, 4);
for(var i = 0; i < arr.length; i++) {
header2 += arr[i].toString(16);
}
if(header2 !=='d0cf11e0' || header2 !=='504b34'){
alert(header2);
alert("only doc/docx files are supported");
$('#file').hasMimetype(fileSelector2);
}
}
filereader.readAsArrayBuffer(file);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="file" name="file" />
&#13;
答案 0 :(得分:1)
无论header2
:
if(header2 !=='d0cf11e0' || header2 !=='504b34')
你可能想要这个:
if(header2 !=='d0cf11e0' && header2 !=='504b34')