したがって、私がやろうとしているのは、サーバー側(php)の他の検証に送信する前に、javascript/jqueryを使用してファイル拡張子を検証することです。
この辺りにはたくさんの情報源があることは知っていますが、私は自分のやり方で作ろうとしています。
上記のコードのような単純なアイデアに到達します。
// remove all elements to take only the file name
var fileName = $('input[type=file]').val().split('\\').pop().toLowerCase();
validExtension = ['.jpg', '.png', '.gif','.jpeg']; // list of valid extensions
$.each(validExtension, function (e, val) { // run thru all valid extensions
if (fileName.indexOf(val) !== -1) { // if found a valid one, stop validation.
invalidExt = false;
return false;
} else { // else, error true...
invalidExt = true;
}
});
if (invalidExt) {
alert('error');
}else{
alert('success');
}
問題は、ファイル.jpg
の名前の途中に、などの有効な拡張子が含まれているdesert.jpg.exe
場合、検証が通過することです。だから、どうすればこれを解決できますか?
たぶん、ファイル名の最後の拡張子を取得する方法を見つけますか?
そしてもちろん、どんなヒントでも、私のゲストになりましょう。
ありがとう。