2014-11-01 10 views
0

우리는 AjaxFileUpload 익스텐더가있는 aspx 페이지 인 을 사용하여 일부 이미지 파일을 서버에 비동기 적으로 업로드하는 데 사용합니다.AjaxFileUpload를 사용할 때 파일 크기를 제한하는 방법과 클라이언트 자바 스크립트를 사용하여 사용자와 통신하는 방법

<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server" 
        OnUploadComplete="UploadComplete" 
        OnClientUploadComplete="UploadCompleteClient"/

>

는 그리고 우리는 특정 한도에 업로드 된 파일의 파일 크기를 유지해야합니다. 파일이 "FILESIZELIMIT"파일 위에 지금

function UploadCompleteClient(sender, args) { 
     if (parseInt(args._fileSize) > fileSizeLimit) { 
      alert("file exceeds file size limit"); 
     } 

이 서버에 저장되지 않는 그것에 대해 우리는 현재

protected void UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e) 
    { 
     if (e.FileSize <= fileSizeLimit) 
     { 
      AjaxFileUpload1.SaveAs(filePath); 
     } 
    } 

로와 클라이언트 측에서 서버 측에 다음 코드를 사용하고 있습니다. 그리고 클라이언트 쪽 경고는 파일 크기가 초과되었음을 사용자에게 보여줍니다. 하지만 문제는 현재 입니다. AjaxFileUpload Extender 상태 메시지은 모든 파일이 성공적으로 업로드되었음을 보여줍니다.

는 우리가 경고 오류 메시지 쇼 적절한 AjaxFileUpload 연장 상태 메시지 미리

감사

답변

0

당신은 파일 크기를 초과하는 경우, 다음 쇼를 확인하기 위해 클라이언트 측에서 UploadCompleteClient을 사용할 수를 표시 할 수 있습니다 어쨌든 있나요 에러 메시지. 다음은 js입니다.

<script type="text/javascript"> 
function UploadCompleteClient(sender, args) { 
    var filesize = args.get_fileSize(); 
    var fileId = args.get_fileId(); 


    var status = document.getElementById('AjaxFileUpload1_FileItemStatus_' + fileId); 

    if (parseInt(filesize) > fileSizeLimit) { 

    alert("file exceeds file size limit"); 
    if (status.innerText) { 
     status.innerText = " file exceeds file size limit "; 
    } 
    if (status.textContent) { 
     status.textContent = " file exceeds file size limit "; 
    } 
    } 
} 
</script>