2017-05-04 4 views
0

업로드 된 파일 이름이 조금 이상하게 보이는이 문제는 누구나 다가 왔습니다.Vaadin Plupload가 잘못된 파일 이름을 업로드합니다.

나는이 시도하고있다 Vaadin Plupload addon 아주 좋은 addon이다. 그러나 잘못된 파일 이름을 업로드합니다.

//add file uploaded handler 
    uploader.addFileUploadedListener(new Plupload.FileUploadedListener() { 

     @Override 
     public void onFileUploaded(PluploadFile file) { 
      File uploadedFile = file.getUploadedFile(); 
      System.out.println("This file was just uploaded: " 
       + uploadedFile.getAbsolutePath()); 
     } 
    }); 

그리고 그것은가 .txt o_199r9ll9e1g6q15vmrdj13l51rdbl 나에게 파일 이름 이런 종류의를 제공합니다 ... 나는 normal.txt 파일 이름 대신 같은 이상한 파일 이름을 얻는 방법에 대해 설명합니다.

+0

내가 사용하지 않은이 온 추가 할 수 있지만 나는 제공된 페이로드가 임시로 업로드되어 있다고 가정 할 파일을 고유 한 이름으로 생성 한 다음 원하는대로 이동하거나 이름을 바꿀 수 있습니다. 동일한 내용이 [github readme page] (https://github.com/eXsio/vaadin-plupload) ('나는 파일 test.mp3 .....을 (를) 업로드하고 있습니다'섹션으로 스크롤) . 조금 아래로 스크롤하면 'PluploadManager'를 사용하여 폴더를 지정하는 옵션이 표시되어야합니다. 그러면 폴더가 다르게 동작합니다. 불행히도, 지금까지 나는 소스를 확인하고 2 가지 가정을 확인할 시간이 없었습니다 ... – Morfic

+0

당신의 제안에 감사드립니다. 나는 그 행을 읽었지 만'PluploadManager'와는 다른 동작이 없으며 폴더를 지정하면 여전히 임의의 파일 이름을 생성합니다. – AppKeto

+0

자바 코드에서 이것은 무엇을 의미합니까? "보시다시피, 필드는 매개 변수화되어 있습니다. 덕분에이 필드를 사용하여 java.io.File''' 또는''''[]''''을 필드의 값/유형으로 가져올 수 있습니다. " – AppKeto

답변

0

마지막으로 여기 angel이라는 사이트에서이 특정 issue에 대한 토론입니다,이 문제를 해결 :

Path myPath = Paths.get(YOUR_UPLOAD_DIRECTORY + file.getId() + (FilenameUtils.getExtension(file.getName()).isEmpty() 
         ? "" : ('.' + FilenameUtils.getExtension(file.getName())))); 
       Path rF = Paths.get(YOUR_UPLOAD_DIRECTORY + file.getName()); 
       try { 
        Files.move(myPath, rF, StandardCopyOption.REPLACE_EXISTING); 
        //refresh your tree table container 
       } catch (IOException e) { 
        log.error("Unable to rename file" + file.getName(), e); 
       } 
+0

문제의 원인을 발견했다고 들었습니다. 당신은 당신이 그것을 어떻게 진단했는지, 특히 그것이 다른 곳에서 볼 때이 문제를 확인할 수있는 증거를 설명함으로써 미래의 독자들에게 당신의 대답을 더 도움이 될 수 있습니다. –

+0

포인터 주셔서 감사. Vaadin 토론 포럼 링크로 답변을 업데이트 중입니다. – AppKeto