Answers:
使用输入标签的accept属性。因此,仅接受PNG,JPEG和GIF可以使用以下代码:
<input type="file" name="myImage" accept="image/x-png,image/gif,image/jpeg" />
或者简单地:
<input type="file" name="myImage" accept="image/*" />
请注意,这仅向浏览器提示要显示给用户的文件类型,但这很容易绕开,因此您还应该始终在服务器上验证上载的文件。
它应该可以在IE 10 +,Chrome,Firefox,Safari 6 +,Opera 15+中运行,但是在移动设备上的支持非常粗略(截至2015年),并且据报道,这实际上可能阻止某些移动浏览器完全上传任何内容,因此请务必正确测试目标平台。
有关详细的浏览器支持,请参见http://caniuse.com/#feat=input-file-accept
accept="file/csv, file/xls"
有效吗?
使用这个:
<input type="file" accept="image/*">
在FF和Chrome中均可使用。
步骤:
1.将accept属性添加到输入标签
2.使用javascript
进行验证3.添加服务器端验证以验证内容是否确实是预期的文件类型
对于HTML和javascript:
<html>
<body>
<input name="image" type="file" id="fileName" accept=".jpg,.jpeg,.png" onchange="validateFileType()"/>
<script type="text/javascript">
function validateFileType(){
var fileName = document.getElementById("fileName").value;
var idxDot = fileName.lastIndexOf(".") + 1;
var extFile = fileName.substr(idxDot, fileName.length).toLowerCase();
if (extFile=="jpg" || extFile=="jpeg" || extFile=="png"){
//TO DO
}else{
alert("Only jpg/jpeg and png files are allowed!");
}
}
</script>
</body>
</html>
说明:
这可以通过
<input type="file" accept="image/*" />
但这不是一个好方法。您必须在服务器端进行编码以检查文件是否为图像。
检查图像文件是真实图像还是伪图像
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
}
else {
echo "File is not an image.";
$uploadOk = 0;
}
}
有关更多参考,请参见此处
http://www.w3schools.com/tags/att_input_accept.asp
http://www.w3schools.com/php/php_file_upload.asp
您可以使用accept
属性来<input type="file">
阅读此文档http://www.w3schools.com/tags/att_input_accept.asp
使用type =“ file”和accept =“ image / *”(或所需的格式),允许用户选择具有特定格式的文件。但是您必须在客户端再次重新检查它,因为用户可以选择其他类型的文件。这对我有用。
<input #imageInput accept="image/*" (change)="processFile(imageInput)" name="upload-photo" type="file" id="upload-photo" />
然后,在您的JavaScript脚本中
processFile(imageInput) {
if (imageInput.files[0]) {
const file: File = imageInput.files[0];
var pattern = /image-*/;
if (!file.type.match(pattern)) {
alert('Invalid format');
return;
}
// here you can do whatever you want with your image. Now you are sure that it is an image
}
}
const file: File = imageInput.files[0];
?另外,不以常规方式将id分配给输入。