2011-08-23 1 views
2

드롭 다운 창에 텍스트를 읽고 plupload (http : // www)를 사용하는 dataTransfer.getData (http://html5demos.com/drag-anything)를 사용하여 HTML5 끌어서 놓기를 설정하려고합니다. .plupload.com) 해당 데이터를 저장합니다.HTML5 끌어서 놓기

현재 코드 :

if (getDataType.checked == false && e.dataTransfer.types) { 
    li.innerHTML = '<ul>'; 
    [].forEach.call(e.dataTransfer.types, function (type) { 
     li.innerHTML += '<li>' + entities(e.dataTransfer.getData(type) + ' (content-type: ' + type + ')') + '</li>'; 
     if (e.dataTransfer.types == 'Files') { 
      li.innerHTML += '<li>' + entities(e.dataTransfer.getData(type) + ' (uploadable: ' + type + ')') + '</li>'; 
     } 
    }); 
    li.innerHTML += '</ul>'; 

    } else { 
    // ... however, if we're IE, we don't have the .types property, so we'll just get the Text value 
    li.innerHTML = e.dataTransfer.getData('Text'); 
    } 

내가 도움 plupload하는 dataTransfer.getData의 출력을 복용하고 파일과 텍스트의 조각 사이의 차이를 아는 DROPZONE이 필요합니다.

편집 : 내가 시도한 것 주위에 더 많은 상황을 추가하십시오. 1. 삭제 된 항목이 파일 인 경우 if 문을 사용하여 무언가를하십시오. (나는 믿기 때문에) 항목이 이미 삭제되어 업로드 할 수 없으므로 작동하지 않습니다. 2. dataTransfer.files를 가져 오지만 업로드 가능한 파일을 저장하지 않고 스 니펫의 작성을 즉시 중단합니다. .

나는 솔루션이 처음에는 누락 된 항목을 쿼리 한 다음 스 니펫에 대해 파일 및 dataTransfer.getData에 대해 plupload를 사용한다고 생각합니다. 문제는이 작업을 수행하는 방법을 모른다는 것입니다. 어떤 도움이라도 대단히 감사 할 것입니다.

+0

무엇을 이미 시도 했습니까? 우리는 당신에게 코드를 제공하는 것이 아닙니다. –

+0

만약 내가 dataTransfer.types == 'Files'를 시도했지만, 문제는 내가 생각하기에 파일이 이미이 시점에서 삭제 되었기 때문에 plupload가 아무 것도 할 수 없다는 것입니다. –

답변

0

다른 이벤트를 plupload droparea에 바인드 할 수 있습니다. 해당 이벤트에서 해당 스 니펫을 확인하십시오. 그렇다면 스 니펫으로 원하는 작업을 수행하십시오. 그렇지 않으면 plupload가 파일 끌어서 놓기를 처리하도록하십시오.

www.plupload.com에는 많은 예제가 있습니다. 또한 좋은 포럼이 있습니다.

또한 여기에 블로그 게시물을 작성했습니다. http://www.foliotek.com/devblog/plupload-custom-file-upload-ui/은 파일 업로드를 관리하기 위해 Plupload를 사용하여 드래그 앤 드롭 영역을 사용하는 사용자 정의 UI를 바인딩하는 방법을 보여줍니다.

도움이 되길 바랍니다 ...

+0

도움을 주셔서 감사합니다. plupload를 사용했습니다. 이제 드래그가 파일인지 스 니펫인지에 따라 다른 양식을 보여 주어야합니다. –

+0

작동 여부를 알려주십시오. 이 일을 도와 드리겠습니다. – bigamil

+0

@ bigamil- 실제로 당신이 제공 한 위의 링크에 문제가 있습니다. 저를 도와 드릴 수 있습니까? 실제로 Firefox 10과 크롬에서도 드래그 앤 드롭이 발생하지 않습니다. 방금 샘플을 다운로드하고 실행했지만 일어나지 않습니다. – coder