2011-09-01 2 views
0

CSS 컨트롤 업로드 버튼에 CSS 스타일을 지정하려면 fakebutton을 만드십시오.이 버튼을 클릭하십시오. 가짜 버튼은 파일 업로드 컨트롤의 클릭 이벤트를 트리거합니다. Jquery ajax를 사용하면 htmlfile 액세스가 거부되었습니다.. 하지만 Html.BeginForm을 사용하면 오류가 발생하지 않으며 작동하지 않습니다.Html.BeginForm/Ajax.BeginForm을 사용하는 FileUpload 컨트롤이 작동하지 않습니다. (htmlfile 액세스가 IE에서 거부되었습니다.) 컨트롤 버튼을 업로드하는 CSS 스타일

<div id="divUploadForm"> 
    @using (Html.BeginForm("UploadAction", "HomeController",new AjaxOptions() 
    { 
     UpdateTargetId = "divUploadForm",   
     InsertionMode = InsertionMode.Replace   
    })) 
    { 
     <fieldset>        
       <input type="text" id="fakeupload" name="fakeupload" class="fakeupload" /> 
       <input type="button" value="Browse" id="BrowseBtn" /> 
       <input type="file" name="file" id="files-to-upload" onchange="this.form.fakeupload.value = this.value;" style="display: none" /> 
       <input type='submit' id='upload-files' value='Save'/>    
     </fieldset> 
    } 
</div> 
<script type="text/javascript"> 
    $(function() { 
     $('#BrowseBtn').click(function() { 
      $('#files-to-upload').trigger('click'); 
     }); 
     $('#fakeupload').click(function() { 
      $('#files-to-upload').trigger('click'); 
     }); 
    }); 
</script> 

업데이트 : 또한

@using (Html.BeginForm("UploadAction", "HomeController", FormMethod.Post, new { enctype = "multipart/form-data", id = "UploadForm" })) 
{ 
... 
} 

아직도 그것이 제공합니다 사용 "오류 :. 액세스가 거부되었습니다"

답변

1

Html.BeginFormAjaxOptions을 사용하고 있습니까? 그런 과부하가 없습니다. Ajax.* 도우미 만 AjaxOptions입니다.

이것은 AJAX로 파일을 업로드 할 수 없다고 말합니다. 당신이 등 파일을 업로드 및 진행 등의 작업을 처리하기 위해 자바 스크립트를 사용하려면

@using (Html.BeginForm("UploadAction", "HomeController", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    ... 
} 

이 ... 당신이 한 번 봐 걸릴 수 있습니다 : 그래서 당신이 적절한 enctypemultipart/form-data에 지정 정상 Html.BeginForm을 고수하지만 확인 numerouspluginsavailable 중 하나입니다.

+0

에 액세스 할 수 없습니다 당신이 파일을 업로드 할 아약스를 사용할 수 없습니다 내가 같은 일했다 Thanks.Earlier을하지만, 그것은 여전히 ​​나에게 "오류 : 액세스가 거부되었습니다." –

+0

@Mangesh Pimpalkar, 숨겨진 파일 요소에 대한 클릭 이벤트를 트리거하려고한다는 사실과 관련있을 수 있습니다. –

1

파일 업로드 컨트롤은 브라우저를 숨겨져 있으면 늘 보안상의 이유로 그것을 클릭 수, 플러스 자바 스크립트 파일 내용

관련 문제