2017-11-10 1 views
1

이미지 크기를 확인하는 방법? (예 : 2MB 미만) 내 angular4 프로젝트에서 이미지 업로드에 ng2-file-input을 사용하고 있습니다.각도 4 ng2 파일 입력 이미지 크기 유효성 확인

`

public onAction(event: any) { 
this.resImagesSize = event.currentFiles; 
for (let i = 0; i < this.resImagesSize[i].size; i++) { 
if (this.resImagesSize[i].size > 2000000) { 
this.toasterService.pop('error', 'Error', 'Please upload less than 2MB image'); 
this.resImagesSize.splice(i, 1); 
} else { 
this.resImages = this.resImagesSize; 
} 
} 
} 

`

편집 : 저는 여기에 (2 개 이상의 이미지를 업로드 할 때 `

toasterconfig: ToasterConfig = 
    new ToasterConfig({ 
     tapToDismiss: true, 
     timeout: 5000, 
     preventDuplicates: false, 
     positionClass: 'toast-top-center' 
    }); 

`

문제가 내 toasterService 코드 2MB보다 큼) 2 메시지. 유효성 검사 메시지를 하나만 표시하는 방법

+0

, 내 조언은 당신의 서비스에 논리를 추가하는 것입니다 만 하나의 오류 메시지가 –

+0

여기 @JasperSeinhorst 한 번에 표시되어 내 코드입니다 'toasterconfig : ToasterConfig = 새로운 ToasterConfig ({ tapToDismiss : 사실, 제한 시간 : 5000, preventDuplicates : 거짓, positionClass '토스트 리면 센터 ' }); ' – Damitha

+0

질문에 추가하십시오 : –

답변

1

더 유효하지 않은 파일 중 하나가있는 경우, 한 번만 서비스를 호출하는이 시도 :

당신이 toasterService의 코드를 제공 할 수
public onAction(event: any) { 
    this.resImagesSize = event.currentFiles; 
    let sizeValid = true; 
    for (let i = 0; i < this.resImagesSize[i].size; i++) { 
    if (this.resImagesSize[i].size > 2000000) { 
     sizeValid = false; 
     this.resImagesSize.splice(i, 1); 
    } else { 
     this.resImages = this.resImagesSize; 
    }} 
    if(!sizeValid){ 
     this.toasterService.pop('error', 'Error', 'Please upload less than 2MB 
     image'); 
    } 
} 
+0

장난감이 초에 너무 큰 파일을 시도합니까? 오류가 표시되지 않습니다. –

+0

여러 파일 선택에 대해 좋은 것으로 생각합니다. 하나 이상의 잘못된 파일이있을 경우 서비스가 호출되지만 한 번만 귀하의 사례를 설명해주십시오. –

+0

@Fateh Mohamed .... 작동하지 않습니다 .... 메시지가 표시되지 않습니다. – Damitha