我有一个关于文件上传的问题,我需要限制文件类型,但我想在“文件上传”窗口中进行,这样用户就看不到不能上传的文件了。我希望用js或jquery来实现。
我知道有一些插件可以做到这一点,比如uploadify,但由于某些原因我不想使用它。
我有一个关于文件上传的问题,我需要限制文件类型,但我想在“文件上传”窗口中进行,这样用户就看不到不能上传的文件了。我希望用js或jquery来实现。
我知道有一些插件可以做到这一点,比如uploadify,但由于某些原因我不想使用它。
<script type="text/JavaScript">
<!-- Begin
function TestFileType( fileName, fileTypes ) {
if (!fileName) return;
dots = fileName.split(".")
//get the part AFTER the LAST period.
fileType = "." + dots[dots.length-1];
return (fileTypes.join(".").indexOf(fileType) != -1) ?
alert('That file is OK!') :
alert("Please only upload files that end in types: \n\n" + (fileTypes.join(" .")) + "\n\nPlease select a new file and try again.");
}
// -->
</script>
我已经更新了这个答案,并附上了来自发布链接的实际代码。正如发布者所指出的,这不是解决此问题的“安全”方法。由于这是客户端JavaScript,因此可以使用Web开发工具轻松更改文件的扩展名。始终在服务器端检查上传的文件,以防止上传恶意文件。
<input type="file" id="fileUpload" accept=".pdf, .jpg, .png">
这将允许您仅上传扩展名为.PDF,.JPG和.PNG的文件。
这个方法对我很有效,无需使用JS。
<input type="file" name="pic" id="pic" accept="image/gif, image/jpeg" />
但是,您可以使用Jquery / Javascript限制错误类型的文件上传,我想在将文件发送到服务器之前通过检查扩展名来实现。