Javascript 如何验证只接受(任何)图像类型文件的表单?
在这里,我有demo.jsp页面,我上传了这张图片,我已经为jpg、png和gif编写了javascript验证代码,但是如果图片类型不是这样,我们无法在条件下为每种类型编写,那么有没有其他方法可以做到这一点Javascript 如何验证只接受(任何)图像类型文件的表单?,javascript,jsp,validation,Javascript,Jsp,Validation,在这里,我有demo.jsp页面,我上传了这张图片,我已经为jpg、png和gif编写了javascript验证代码,但是如果图片类型不是这样,我们无法在条件下为每种类型编写,那么有没有其他方法可以做到这一点 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ImageResizing</title&
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ImageResizing</title>
<script>
function vlidate() {
var fileName = document.getElementById("Imgfile").value;
var file_extension = fileName.split('.').pop();
var newWidth = document.getElementById("newWidth").value;
var newHeight = document.getElementById("newHeight").value;
//alert(fileName);
//alert(file_extension);
if (file_extension !== "jpg" || file_extension !== "png" || file_extension !== "gif") {
alert("Choose Valid image");
}
else if ((file_extension == "jpg" || file_extension == "png" || file_extension == "gif") && (newWidth.length != "" && newHeight.length != "")) {
//alert("Go ahead");
document.getElementById("uploadImgForm").submit();
}
}
</script>
</head>
<body bgcolor="#ABD3EB">
<%
out.println("<form method='post' action='FileUploadServlet' enctype='multipart/form-data' id='uploadImgForm' name='uploadImgForm'>");
out.println("<h2>Image Resizing</h2>");
out.println("<table>");
out.println("<tr><td><input type='file' id='Imgfile' name='Imgfile'></td></tr>");
out.println("<tr><td></td></tr>");
out.println("<tr><td>New Width:</td><td><input type='text' id='newWidth' name='newWidth'</td></tr>");
out.println("<tr><td>New Height:</td><td><input type='text' id='newHeight' name='newHeight'</td></tr>");
out.println("<tr><td></td></tr>");
out.println("<tr><td><input type='button' value='Upload Image' onclick='vlidate()' ></td></tr>");
//out.println("<tr><td><input type='submit' value='Upload Image' ></td></tr>");
out.println("</table>");
out.println("</form>");
%>
</body>
在输入标记中可以有一个accept属性
<input type="file" name="imagefilename" accept="image/x-png, image/gif, image/jpeg" />
<input type="file" accept="image/*">
第一个适用于chrome,而第二个适用于chrome和FF
参考这个
要创建允许多文件支持的文件输入框,只需执行以下操作
<input type="file" multiple="multiple" name="File1" id="File1" accept="image/*" />
如果图像不是png、gif、jpeg,那么?在jsp中,我可以用js写什么?请你修改我的代码,我有点困惑如果我们写了accept=image/*那么在js中它只会检查jpg、png、gif,否则它会显示上传正确的图像吗?如果我上传了bmp格式,它会显示错误吗?如果你给accpet=image/*,它甚至会接受bmp格式的图像。看一看图像可用的MIME类型,以及这一点,您将有一个明确的答案idea@pradnyapalan,不要通过编辑回答问题。图像文件的验证远远超出了验证扩展名的范围。