我正在使用javascript的FileReader和我的自定义函数来读取JPG-JPEG图像, 我的问题是如何通过下面的代码检测文件扩展名,如果文件不是JPG-JPEG,则给用户错误:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
alert('image has read completely!');
}
reader.readAsDataURL(input.files[0]);
}
}
答案 0 :(得分:33)
你可以试试这个, 我按如下方式更改了您的代码:
var fileTypes = ['jpg', 'jpeg', 'png', 'what', 'ever', 'you', 'want']; //acceptable file types
function readURL(input) {
if (input.files && input.files[0]) {
var extension = input.files[0].name.split('.').pop().toLowerCase(), //file extension from input file
isSuccess = fileTypes.indexOf(extension) > -1; //is extension in acceptable types
if (isSuccess) { //yes
var reader = new FileReader();
reader.onload = function (e) {
alert('image has read completely!');
}
reader.readAsDataURL(input.files[0]);
}
else { //no
//warning
}
}
}
答案 1 :(得分:1)
没有直接接口来读取文件扩展名。您至少有两个选项:
对于扩展方法,它类似于:
var extension = fileName.match(/\.[0-9a-z]+$/i);