2014-11-08 8 views
0

DWR을 사용하여 파일을 서버에 업로드 할 수 있습니다 (이 경우 FTP). DWR을 사용하여 여러 파일을 보내는 방법을 알고 싶습니다. DWR 복수 파일 업로드

내가 하나의 파일에 대해 무엇을 가지고 :

HTML

<input type="file" id="file" onchange="uploadFile();"/> 
<input type="text" id="fileName" /> 

자바 스크립트

function uploadFile() { 
      if($('#file').val()!='' && $('#fileName').val() != ''){ 
       var file = dwr.util.getValue('file'); 
       FTPService.uploadFile(file, 'Alfresco/Sites/Licencias de Alcoholes', $('#fileName').val(), function(uploaded){ 
        if(uploaded == "Success"){ 
         alert("Se subió el archivo al FTP de Alfresco"); 
        }else{ 
         alert("Ha ocurrido el siguiente error al subir el archivo: \n" 
           + uploaded);  
        } 
       }); 
      }else{ 
       alert("Debes seleccionar un archivo antes de tratar de subirlo"); 
      } 
     } 

자바 서비스 :

public String uploadFile(InputStream file, String remoteFolder, String remoteFileName) throws IOException{ 

    FTPConnectionFactory ftpConnectionFactory = new FTPConnectionFactory(); 

    //Obtenemos la conexión al servidor FTP 
    FTPClient ftpClient = ftpConnectionFactory.getConnection("1.1.1.1", 21, "user", "pass"); 

    Document document = new Document(); 

    //Seteamos las propiedades del documento a subir 
    document.setFile(file); 
    document.setRemoteFolder(remoteFolder); 
    document.setRemoteFileName(remoteFileName); 

    //Se sube el documento y se devuelve el resultado 
    return UploadDocument.upload(ftpClient, document); 

} 

이 1 개 파일에 대해 잘 작동하지만, 업로드하고 싶다. html 입력 파일의 "multiple"속성을 사용하는 여러 파일

나는 너희들에게 나에게 힌트를 줄 수 있기를 바랍니다.

최고 감사합니다, 로베르토 그것은 당신이 업로드를 수행하는 데 사용하는 클라이언트 라이브러리에 따라

+0

{if ($ ('# file').} ('fileName') && $ ('# fileName') .Val()! = '') {'파일을 하드 코딩하여 당신은 당신의 기능에 그 것을 넘겨 주어야합니다. – MZaragoza

+0

글쎄, 어떻게 할 수 있겠습니까! 원하는만큼 많은 입력을 만들어 Java에 배열로 저장하면됩니다. 그럼 당신은 파일을 업로드하는 Java 코드에 대한 루프를 수행 할 수 있습니다 .... – Gavin

+0

안녕하세요 Moises, 그 경우에 입력 파일의 이름, 그리고 그것은 단지 예제지만, 내가 뭘하고 싶은지 사용하는 것입니다 "다중"속성이있는 html 입력 파일. 그리고 선택한 여러 파일을 서버로 보냅니다. 서버 쪽에서는 지금 InputStream을받는 중이지만 여러 파일에 대해 작동 할 수 있는지, 그렇다면 어떻게 작동하는지 알 수 없습니다. Gauravjot, 여러 입력을 사용하고 싶지는 않지만 여러 옵션을 사용하는 입력을 사용하고 싶습니다. – roccolocko

답변

0

. FTP를 사용하고있는 것으로 보입니다. 라이브러리에 대한 자세한 내용을 알려주시겠습니까?

FTP를 사용하지 않아도된다면 야외 웹 스크립트에 간단한 HTTP 게시를 할 수 있습니다.

게다가 업로드 할 모든 파일에 대해 항상 자바 스크립트 코드를 실행하여 업로드 할 수 있습니다 (실제로 이것은 야외 업 로더가 작동하는 방식입니다).

+0

안녕하세요 마르코, 나는 common-net에서 apache ftpClient를 사용하고 있습니다. 여기에있는 것은 루프를 수행하는 코드로 수행 할 수있는 alfresco에 여러 파일을 업로드하는 방법이 아니지만 질문은 입력이 보낼 수있는 여러 파일을 읽는 방법에 더 가깝습니다. 당신이 볼 수 있듯이, 하나의 파일에 대한 InputStream을 받았지만, html 입력 파일 컨트롤에 여러 옵션을 넣으면 어떻게 될까요? 어떻게 서버 측에서받을 수 있습니까, 입력으로받을 수 있습니까? 흐름? 그렇다면, 내가 그들을 보내기 전에 그들을 여러 파일로 변환하는 방법. – roccolocko