2012-11-02 3 views
0

Dojo Uploader 버튼을 만들고 싶습니다.AJAX에서 Dojo Uploader를 사용하여 선택

사용자가 파일 선택을 완료하면 파일을 서버에 즉시 업로드합니다 (제출 클릭을 기다리지 마십시오). 는 HTML 문서의 본문에

<script type="text/javascript"> 
require(["dojo/parser", "dojox/form/Uploader", "dojox/form/uploader/plugins/IFrame", "dojox/form/uploader/FileList", "dojo/domReady!"], 
    function(parser) { 
     parser.parse(); 
}); 
</script> 

:

<input name="restoreFile" multiple="false" type="file" id="restoreBtn" 
     data-dojo-type="dojox/form/Uploader" 
     data-dojo-props='label: "Upload", 
         url: "<s:url action="restore-backup" />", 
         uploadOnSelect: "true"' /> 
<div id="fileList" data-dojo-type="dojox/form/uploader/FileList" 
    data-dojo-props='uploaderId: "restoreBtn"'></div> 

내가 양식 태그에이 태그를 모두 넣어했지만, 행동의 변화가 없었다

여기 내 코드입니다.

업 로더를 클릭하면 파일 선택기가 표시됩니다. 파일을 선택하고 "열기"를 클릭하면 FileList에 선택한 파일이 표시되지만 아무 것도 서버로 보내지지 않습니다.

업 로더 플러그인 인 HTML5 (IE에서는 지원되지 않지만 Chrome에서는 원하는대로 작동하지 않음), IFrame 및 플래시가 모두 필요했습니다.

나는 uploadOnSelect가 어떻게 작동 할 것으로 오해합니까? 파일을 선택한 후 업 로더가 파일을 업로드하지 않는 이유는 무엇입니까?

+0

도우미 버전 – mschr

+0

을 부탁드립니다. Dojo 버전 1.8 –

답변

0

간단하게; 이 문제가 귀하의 문제에 해당되는지 잘 모르겠지만 업 로더는 레거시 로더 (동시 XHR 1.7 로더 이전)와 함께 사용하면 가장 잘 작동합니다. 이는 제작자가 플러그인 아키텍처 (flash/iframe/html5)를 선택한 방식 때문입니다. 그러나, 그것은해야 내가 생각하고

  • 이벤트 처리와 엉망하는 programattic 구성 요소로 설정하려고 - dojo.ready 후 dojo.parser은 모두 자신의 작업을 .. 완료

또는 1.6 버전이 작동하는지 테스트하거나 dojo.config.async = false로 설정하면 도움이됩니다.

0

dojox.form.Uploader와 dojox.form.uploader.FileList를 함께 사용할 수 있습니다. 이 2를 다음과 같이 선언하십시오.

up = new dojox.form.Uploader({ 
      label: 'Select files', 
      multiple: true, 
      class:"browseButton", 
      url: "UploadFile.php" 
     }).placeAt(form); 

     list = new dojox.form.uploader.FileList({ 
      uploader: up 
     }).placeAt(form); 

     btn = new Button({ 
      label: 'upload', 
      onClick: function() { 
       up.upload(); 
      } 
     }).placeAt(form); 

     btn.startup(); 
     up.startup(); 
     list.startup();