2017-04-03 9 views
1

Jetty를 사용하여 파일을 저장할 수있는 특정 URL을 MultipartConfig를 사용하여 정의하고 있지만 사용자 요청에 따라이 값을 어떻게 변경할 수 있습니까?실시간으로 경로를 변경하는 MultipartConfig

예를 들어 사용자 파일에/tmp/upload/share를 씁니다.

@SuppressWarnings("serial") 
    @MultipartConfig(location="/tmp/upload", fileSizeThreshold=1024) 
    @WebServlet(urlPatterns={"/upload"}, name="upload") 
    public class UploadServlet extends HttpServlet { 


     @Override 
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException 
     { 
      resp.setContentType("text/plain"); 
      PrintWriter out = resp.getWriter(); 

      int i=0; 
      for(Part part: req.getParts()) 
      { 
       part.write(String.format(part.getName(),i++)); 
      } 

     } 
    } 

이 코드를 사용하여 파일 이름을 변경했지만 파일 경로를 변경할 수 없습니다.

+0

(... 등등 다른 파일 시스템 위치 또는 데이터베이스 또는 CMS, 또는 CDN 또는 아카이브 위치로) 좀 더 영구적 인 위치에 임시 위치에서 파일을 이동 임의의 디렉토리와 파일 이름에 request.part를 쓰는 것이 목표입니까? –

답변

2

Part.write(String relativeFilename)은 이러한 임시 파일을 관리하기위한 용도로 사용됩니다 (서블릿이 디스패치를 ​​완료하면 해당 파일이 삭제됩니다).

메모리에있는 파일을 디스크에 쓰는 방법입니다.

그것의 당신에게 달려

+0

테스트를 거쳤으며 파일이 삭제되지 않았습니다. 파일 시스템의 특정 경로로 immedialty를 보내고 싶습니다. – JMR

+0

Basicaly 어떻게 스레드 방식으로 파일을 변경할 수 있습니까? 또한 대답 일 수 있습니다. 내 질문 – JMR