복붙노트

[JQUERY] jQuery 파일 업로드 플러그인 : 업로드 된 폴더의 구조를 유지할 수 있습니까?

JQUERY

jQuery 파일 업로드 플러그인 : 업로드 된 폴더의 구조를 유지할 수 있습니까?

해결법


  1. 1.드롭 이벤트에서 드래그 앤 드롭 .DataTrasfer 개체를 사용하는 WebKit 브라우저에서는 가능해야합니다. .webkitgetasentry (); WebKitRequestFileSystem getDirectory () DirectoryEntry, readEntries ()에 대한 DirectoryEd 폴더, readEntries ()에있는 디렉토리, readEntries () 디렉토리의 항목을 반영한 디렉토리의 항목을 생성하려면 디렉토리 이름이 작성된 디렉토리가 생성 된 디렉토리가있는 각 eLALENTRY에 대해 .COPYTO ()를 호출합니다.

    드롭 이벤트에서 드래그 앤 드롭 .DataTrasfer 개체를 사용하는 WebKit 브라우저에서는 가능해야합니다. .webkitgetasentry (); WebKitRequestFileSystem getDirectory () DirectoryEntry, readEntries ()에 대한 DirectoryEd 폴더, readEntries ()에있는 디렉토리, readEntries () 디렉토리의 항목을 반영한 디렉토리의 항목을 생성하려면 디렉토리 이름이 작성된 디렉토리가 생성 된 디렉토리가있는 각 eLALENTRY에 대해 .COPYTO ()를 호출합니다.

    이제 폴더를 WebKitrequestFileSystem ()을 사용하여 디렉터리 이름을 첫 번째 매개 변수로 표시하고 두 번째 매개 변수로 {}으로 디렉토리 이름을 묶어 놓습니다.

    또는 파일 관리자 GUI 또는 명령 줄 인터페이스를 사용하여 Chrome 또는 Chromium Profile 폴더의 실제 사용자 파일 시스템에서 폴더에 액세스 할 수 있습니다. 또는 파일 시스템의 폴더를 다른 디렉토리로 복사하고 폴더의 이름을 업로드 한 폴더의 원래 이름으로 바꾸는 로컬 스크립트를 만듭니다. 폴더와 파일 경로는 조정되지 않고 폴더 이름 만 조정되지 않습니다.

    파일 관리자에서 폴더는 업로드 된 디렉토리와 동일하지 않으면 폴더 및 파일 구조를 유지해야합니다. 이 폴더는 Origins 폴더 앞에 Chrome 프로파일 폴더의 파일 시스템의 마지막 폴더에 위치해야합니다. JavaScript를 사용하여 파일 (사용자 디렉토리)에 작성하는 방법을 참조하십시오.

    function errorHandler(e) {
      console.log(e)
    }
    
    function handleFiles(e) {
      console.log("file", file)
    }
    
    function handleDrop(event) {
      var dt = event.dataTransfer;
      for (var i = 0; i < event.dataTransfer.items.length; i++) {
        var entry = dt.items[i].webkitGetAsEntry();
        if (entry.isFile) {
          console.log("isFile", entry.isFile, entry);
          entry.file(handleFiles);
        } else if (entry.isDirectory) {
          console.log("isDirectory", entry.isDirectory, entry);
          window.webkitRequestFileSystem(window.TEMPORARY, 1024 * 1024
          , function(fs) {
            // create directory with uploaded directory name
            fs.root.getDirectory(entry.name, {
              create: true
            }, function(dirEntry) {
              // read folders, files in uploaded directory
              var reader = entry.createReader();
              reader.readEntries(function(entries) {
                entries.forEach(function(file) {
                  // copy files to new directory
                  file.copyTo(dirEntry);
                  console.log("file:", file, "\ncopied to directory:", dirEntry)
                })
              })
            }, errorHandler)
          }, errorHandler)
        }
      }
    }
    

    Narrboard http://plnkr.co/edit/ouihwuc3cdxi64srvxih?p=preview.

  2. from https://stackoverflow.com/questions/37106121/jquery-file-upload-plugin-is-possible-to-preserve-the-structure-of-uploaded-fol by cc-by-sa and MIT license