2010-05-24 2 views
1

grails에서 디렉토리를 업로드하는 가장 좋은 방법은 무엇입니까?Grails 또는 Java를 통해 디렉토리를 업로드하는 방법은 무엇입니까?

나는이 코드를 시도 :

def upload = { 
    if(request.method == 'POST') { 
     Iterator itr = request.getFileNames(); 

     while(itr.hasNext()) { 
      MultipartFile file = request.getFile(itr.next()); 
      File destination = new File(file.getOriginalFilename()) 

      if (!file.isEmpty()) { 
       file.transferTo(destination) 
       // success 
      } 
      else 
      { 
       // failure 
      } 
     } 

     response.sendError(200,'Done'); 
    } 
    } 

불행하게도, 난 단지 파일에 파일을 업로드 할 수 있습니다. 내 디렉토리를 정의하고 모든 파일을 직접 업로드하고 싶습니다.

아이디어가 있으십니까?

답변

1

큰 오해가 있습니다. 귀하가 게시 한 코드는 서버와 클라이언트가 모두 에서 실제로 실행될 경우에만 기계 (실제로는 발생하지 않음) 이 전송되는 오작동이있는 MSIE 브라우저를 사용하는 경우에만 작동합니다 파일 이름에 따른 전체 경로.

사실 업로드 된 파일의 내용을 InputStream으로 가져와 일반적인에 작성해야합니다. 파일 이름은 서버 측에서 같은 이름의 파일을 만드는 데 사용할 수 있지만 파일 이름에서 MSIE가 보낸 경로로 잘못 제거하는지 확인해야합니다.

실제 기능 요구 사항과 관련하여 HTML은 전체 요소로 전체 디렉토리 또는 여러 파일을 업로드하는 기능을 제공하지 않습니다. Swing JFileChooser를 사용하는 Java 애플릿과 같이 웹 페이지에서이를 처리 할 수있는 클라이언트 응용 프로그램을 만들어야합니다. 이것에 대한 타사 솔루션이 존재합니다 (예 : JumpLoader).

+0

좋아, HTML을 통해 전체 디렉토리를 업로드 할 수 없습니다. JumpLoader는 멋지지만 무료는 아닙니다 (비슷한 프로젝트를 찾으려고합니다). 감사 ! –

+0

무료입니다. 다시 한 번 읽어보십시오. 로고가없는 버전이나 전체 오픈 소스 버전을 원할 때마다 비용을 지불하면됩니다. 상단의 탐색 바에서 * 다운로드 * 링크를 클릭하여 무료 버전을 다운로드하십시오. – BalusC

관련 문제