Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jQuery获取原始文件类型_Jquery_File_Validation - Fatal编程技术网

使用jQuery获取原始文件类型

使用jQuery获取原始文件类型,jquery,file,validation,Jquery,File,Validation,如何使用JQuery检查文件类型(原始类型)?我的意思是,即使我手动将文件格式从.pdf更改为.jpg,我也应该得到.pdf,因为该文件是pdf文档而不是图片。我使用以下代码检查文件类型: var fileExtension = ['jpeg', 'jpg', 'png']; if ($.inArray(file_input.val().split('.').pop().toLowerCase(), fileExtension) == -1) { alert("Wrong format!")

如何使用JQuery检查文件类型(原始类型)?我的意思是,即使我手动将文件格式从.pdf更改为.jpg,我也应该得到.pdf,因为该文件是pdf文档而不是图片。我使用以下代码检查文件类型:

var fileExtension = ['jpeg', 'jpg', 'png'];
if ($.inArray(file_input.val().split('.').pop().toLowerCase(), fileExtension) == -1) {
  alert("Wrong format!");       
}
else {
  alert("Correct format!");
}

借用@Drakes answer的JS

我已经发布了JQuery的实现,如下所示:

$('#show')。在(“单击”,函数(){
var files=$(“#您的文件”)[0]。文件[0];
var temp=“”;
temp+=“
文件名:”+files.name; temp+=“
类型:”+files.Type; temp+=“
大小:”+files.Size+“bytes”; $('#details').html(temp); });

显示细节

可能的重复可能的重复我不知道是否可能??但是如果只需要当前的文件扩展名,那么
var ext=fileName.split('.').pop()
可以。我认为获取
mime类型
的唯一可靠方法是在服务器上,因此可能需要一个AJAX请求来从服务器返回
mime类型。@UmidjonUrunov:使用jquery本身,您可以获取文件类型,然后使用它来验证代码,请检查我下面的答案或此处的答案:OP说他希望获得文件类型信息,而不依赖文件名的扩展名。@Stack0verflow:无论文件名的扩展名是什么,上面的代码段都给出了正确的文件类型。当我多次尝试时,它不会给出正确的文件类型。@stark,我将jar文件的扩展名更改为.txt,这意味着原始文件是jar,但我手动更改为文本文件,所以文件类型应该是jar,但只显示text/plain,所以不起作用。你能更新你的答案吗?