내가 작업하고있는 웹 사이트에는 이미지를 업로드 할 수있는 옵션이 있지만 서버 측에 업로드하거나 제출하기 전에 이미지의 크기 (너비, 높이)의 유효성을 검사해야합니다. 이미지 클라이언트 측의 치수 유효화
예를 들어, 이미지, 250x250 크기해야합니다 그렇지 않으면 경고가 발생하여 사용자가 이미지를 업로드 할 수 없습니다, 여기 내 코드의 일부입니다 :<form action="upload_file.php" method="post" enctype="multipart/form-data" name = "upload" id="insertBook" onSubmit="return validateImage();">
<input type="file" name="image" value="upload" id = "myImg">
<input type="submit" name = "submit">
</form>
validateImage 기능은 이제 단지 확장에 확인 , I 그것도 차원을 확인하고 싶습니다.
여기에 지금까지 코드입니다 :
function validateImage(){
var allowedExtension = ["jpg","jpeg","gif","png","bmp"];
var fileExtension = document.getElementById('myImg').value.split('.').pop().toLowerCase();
var isValidFile = false;
for(var index in allowedExtension) {
if(fileExtension === allowedExtension[index]) {
isValidFile = true;
break;
}
}
if(!isValidFile) {
alert('Allowed Extensions are : *.' + allowedExtension.join(', *.'));
}
return isValidFile;
}
감사합니다! :)
나는이 종류의 물건에 대해 개인적으로 검증을 사용하지 않을 것입니다. 서버 측은 사용자가 이미지를 보내기 전에 기능을 변경하거나 우회하지 않도록합니다. 또한 백엔드에 따라 이미지 처리시 크기를 확인할 수있는 기능이있을 수 있습니다. 이것을 달성하는 가장 효율적인 방법은 메모리로 작업하는 것입니다 (램에서). 유효성을 검사하면 디스크에 이미지를 쓰거나 그렇지 않은 경우 이미지를 버리십시오. 물론 업로드하기 전에 크기를 확인할 수 있습니다. 안전하지 않은가. 서버 측에서 확인하십시오. – Depado
@Depado 클라이언트 측 유효성 검사는 사용자 편의를위한 것이며 클라이언트 측 확인 및 오류보고를 선호합니다. 나는 서버 쪽을 믿는다 유효하지 않으면 요청을 확인하고 버려야하며 클라이언트 쪽의 오류 메시지를 표시하는 모든 불쾌한 UI 요소는 그대로 두어야한다. –
@ImanMohamadi이 시점에서 맞습니다. 클라이언트 측 유효성 검사는 UI 관련 사항 일뿐입니다. 이런 종류의 일에 대해서는 클라이언트 측에 의존해서는 안됩니다. 그래서 그것이 안전하지 않다고 말합니다. 항상 서버 쪽 유효성 검사를 먼저 수행 한 다음 클라이언트 쪽 인증을 수행하십시오. 그렇지 않으면 클라이언트 측의 프로세스가 안전하다고 생각할 수 있습니다. 클라이언트 측 유효성 검사는 항상 optionnal입니다. 물론 그것은 서버에 대한 몇 가지 나쁜 요청을 저장할 수 있습니다. 그러나 누군가 이미지를 업로드하고 싶다면 그냥 무시할 수 있습니다. – Depado