如何检查javascript中是否选择了JSON文件?
如何使用javascript中的如何检查javascript中是否选择了JSON文件?,javascript,regex,Javascript,Regex,如何使用javascript中的match()函数检查是否从浏览器中选择了JSON文件 以下代码段用于检查图像文件: <script> var f=evt.target.files[0]; // Only process image files. if (!f.type.match('image.*')) { alert('Please select Image Files only!'); } </script> var f=evt.target.files[0
match()
函数检查是否从浏览器中选择了JSON文件
以下代码段用于检查图像文件:
<script>
var f=evt.target.files[0];
// Only process image files.
if (!f.type.match('image.*')) {
alert('Please select Image Files only!');
}
</script>
var f=evt.target.files[0];
//仅处理图像文件。
如果(!f.type.match('image.*')){
警报('请仅选择图像文件!');
}
我希望JSON文件也是如此。8年后,答案如下:
document.querySelector('input').onchange=function({target:{files:[file]}){
if(file.type!=“application/json”){
警报('请仅选择JSON文件!');
这个值=“”;
返回;
}
//用于显示文件的内容
const reader=new FileReader();
reader.onload=({target:{result}})=>console.log(result);
reader.readAsText(文件);
};代码>
警报(f.type)
并查看它的内容。它显示一个空字符串(空白)注意,您可以通过此函数传递任何类型的文件,只需给它一个.json
扩展名。您仍然需要验证文件服务器端的内容。类似地,如果有效的JSON文件没有.JSON
扩展名,它将拒绝这些文件。在内容上调用JSON.parse
,并检查它是否抛出错误,这是避免客户端出现文件扩展名问题的最可靠方法。@GirkovArpa也许最好将此添加到答案中。此外,是否存在此解决方案可以使用的特定浏览器,或者它与浏览器无关?