2016-08-06 2 views
0

사용자는 하나의옵션을 제공하여 클라이언트의 폴더를 업로드하고 동일한 옵션을 처리하는 방법은 무엇입니까?

에 의해 우리는 여러으로는 다음 파일 및 프로세스를 검색하는 것 여러 파일을

play.mvc.Controller.request().body().asMultipartFormData().getFiles().get(0) 

사용자가 선택을 다음과 업로드 우리가 파일을 검색합니다 하나의 파일을 업로드 할 때

이제 우리는 사용자가 파일, 하위 폴더 및 하위 폴더에 포함될 수있는 폴더를 업로드 할 수 있도록 허용해야합니다 (예 : .wav). 여러 파일 또는 폴더. 우리는 모두 처리해야합니다.

예를 들어 FileZilla에서 사용자는 전체 폴더를 업로드 할 수 있으며 폴더, 하위 폴더, 하위 폴더 및 모든 파일이 서버에 업로드됩니다.

는에 도움이 필요

  1. 어떻게 폴더를 업로드하는 사용자에게 옵션을 제공하기 위해 다음과 같은?
  2. Play 프레임 워크에서 폴더 및 하위 폴더와 파일을 재귀 적으로 처리하는 데 사용되는 Play API는 무엇입니까?
  3. 폴더 업로드가 모든 브라우저에서 지원 되나요?
  4. 고객으로부터 대량 업로드 또는 폴더 업로드를 허용하는 유틸리티가 있습니까?

현재 우리는 anjular 1.0을 사용하고, 상기

감사에 도움이 필요합니다.

+0

당신은 입력에'webkitdirectory = ""'속성을 사용할 수 있습니다. 이렇게하면 Chrome에서 폴더를 업로드 할 수 있습니다. 그러나 이것은 내가 알고있는 Chrome에서만 지원됩니다. Java 코드 내에서 여러 파일을 업로드 할 때와 동일한 방식으로 파일을 처리 할 수 ​​있어야합니다. – Ibrahim

+0

다른 브라우저는 어떻습니까? Chrome에서만 지원됩니까? 폴더가 업로드 될 때 샘플 코드 또는 Psuedo 코드로 나를 도울 수 있습니까? – Kathire

+0

예, 불행히도 예, Chrome 만 지원합니다. 다음은 webkitdirectory가 https://jsfiddle.net/dt0cbmkt/로 설정된 하나의 입력이있는 jsfiddle입니다. Java의 경우 Play 프레임 워크가있는 프로젝트가 없지만 귀하가 말한 것을 사용하여 시도해보십시오 :'play.mvc.Controller.request(). body(). asMultipartFormData(). getFiles()' – Ibrahim

답변

0
  1. 클라이언트 측에서 디렉토리를 압축하여 하나의 파일로 업로드하십시오.

  2. 재생 프레임 워크에서 파일 및 프로세스의 압축을 풀려면 java.util.zip을 사용하십시오. 이 기능은 Play 또는 Scala 기능이 아니라 Java에서 제공되는 기능입니다.

    참조 : JSZip

    참조 : How to unzip a zip file using scala?

    참조 : How do I list all files in a subdirectory in scala?

+0

감사합니다. zip으로 폴더를 처리하는 것이 모범 사례인지 또는 폴더 자체를 처리하는 것이 크롬과 파이어 폭스가 폴더 업로드를 지원하는 것과 같은 최선의 방법인지 알고 싶습니다. 또한 Scala 대신 Play Java의 하위 디렉토리에있는 모든 파일을 나열하는 방법을 알려주십시오. – Kathire

관련 문제