Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Javascript 文件上载-限制“中的文件类型”;文件上传";窗口_Javascript_Jquery_File Upload - Fatal编程技术网

Javascript 文件上载-限制“中的文件类型”;文件上传";窗口

Javascript 文件上载-限制“中的文件类型”;文件上传";窗口,javascript,jquery,file-upload,Javascript,Jquery,File Upload,我有一个关于文件上传的问题,我需要限制文件类型,但我喜欢在“文件上传”窗口中进行,因此用户甚至看不到不允许上传的文件,我喜欢在js或jquery中进行 我知道这是可能的,例如,uploadify插件可以做到这一点,但我不想使用它有很多原因。尝试一下这个链接。它会告诉你你需要什么。它只是使用了纯javascript,我认为目前还没有任何JQuery选项 我已经用发布链接中的实际代码更新了这个答案。正如海报所指出的,这不是解决这个问题的“安全”解决方案。由于这是客户端javascript,因此

我有一个关于文件上传的问题,我需要限制文件类型,但我喜欢在“文件上传”窗口中进行,因此用户甚至看不到不允许上传的文件,我喜欢在js或jquery中进行


我知道这是可能的,例如,uploadify插件可以做到这一点,但我不想使用它有很多原因。

尝试一下这个链接。它会告诉你你需要什么。它只是使用了纯javascript,我认为目前还没有任何JQuery选项



我已经用发布链接中的实际代码更新了这个答案。正如海报所指出的,这不是解决这个问题的“安全”解决方案。由于这是客户端javascript,因此可以使用web开发工具轻松更改文件的扩展名。始终检查服务器端上载的文件,以防止上载恶意文件。

据我所知,我们可以按如下所示执行此操作,但对话框中仍包含所有文件类型:

<input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />


但是,我想在将文件发送到服务器之前,可以使用Jquery/Javascript限制错误类型的文件上载,方法是检查扩展名。

这在Javascript中无法实现,句号。您最好的选择是在上传之前过滤掉无效的扩展名,但出于安全目的,浏览器不会让您弄乱文件选择窗口。
<input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />