2011-04-12 5 views
1

사용자가 이미지를 업로드 할 수있는 JSF 페이지가 있습니다. 올바른 크기, 치수, 내용 유형 등을 확인하기 위해 업로드 된 파일에 대한 유효성 검사를 수행하고 싶습니다. JSF 유효성 검사기를 만들고 <s:fileUpload validator="XXX" /> 특성을 지정하고 <f:validator /> 태그 그러나, 내가 무엇을 시도해도 내 validator는 호출되지 않는다. Seam에서 파일 업로드를 검증 할 수있는 방법이 있습니까? <rich:fileUpload />을 사용하면 업로드 된 파일에 대해 유효성 검사를 수행 할 수 있습니까?Seam : s의 유효성 확인 : fileUpload?

답변

1

, 난 그냥 내 제출 방법 수동 검증을하기로 결정했습니다. Validator 객체를 성공적으로 가져 오는 방법을 찾지 못했습니다.

0

(이벤트가 당신의 제약이 실패 할 경우 호출하는 취소 방법을 가지고 있는지 확실하지 않습니다,하지만 당신은 확인하실 수 있습니다) 당신은 같은 리스너를 시도 할 수 있습니다 :

public void listener(UploadEvent event) throws IOException { 
    UploadItem item = event.getUploadItem(); 

    String name = "unnamed_attachment"; 
    byte[] data = item.getData(); 

    if (item.isFile()) { 
     name = FilenameUtils.getName(item.getFileName()); 
     data = FileUtils.readFileToByteArray(item.getFile()); 
    } 

    debug("file uploaded '#0' : '#1'", name, item.getFileName()); 

을 그리고 몇 가지 제약이 components.xml에 넣을 수 있습니다 , 같은 : 시행 착오를 많이 후

<web:multipart-filter create-temp-files="false" max-request-size="5200000" url-pattern="/*"/>

+0

이전에는 에 대한 수신기를 사용했지만 에는 사용하지 않았습니다. 이 구성 요소가 지원됩니까? 또는 RichFaces 구성 요소 만? – Shadowman

+0

네, 맞습니다. actionListener가 s : fileUpload에 존재하지 않습니다. 어쩌면 당신은 변환기를 사용할 수 있습니까? –