2011-03-11 3 views
-1
String urlPath = "http://hostname:portno/filepath.pdf"; 
      url = new URL(urlPath); 
      URLConnection conn = url.openConnection(); 
      conn.setDoOutput(true); 
      conn.setUseCaches(false); 
      conn.setRequestProperty("Content-Type", "application/octet-stream"); 
      OutputStream outStream = conn.getOutputStream(); 
      out = new BufferedOutputStream(outStream); 
      if (byteContent != null && byteContent.length > 0) { 
       out.write(byteContent); 
       byteLength = byteContent.length; 
      } 

이 코드는 예외를 제공하지 않고 파일은 내 바람둥이 위치jsf를 사용하여 http 서버에 파일을 저장하는 방법은 무엇입니까?

+0

- 단순히 서버 (그렇지 않으면 모두가 업로드 될 파일과 더 나은)에 파일을 밀어 직접적인 방법 없다? – skaffman

답변

0

이 바람둥이에 파일을 쓸 수있는 방법이 아니다에 만들어지지 않습니다. 바이트를 서버로 보내는 HTTP 요청을하고 있습니다.

FileOutputStream(..)을 만들고 그 대신에 바이트를 써야합니다. Tomcat에서 코드가 실행되고있는 경우입니다.

코드가 별도의 응용 프로그램 인 경우 들어오는 요청을 처리하고 파일을 저장할 수있는 서블릿을 만들어야합니다. 이 JSF와 함께 할 필요가 무엇

0

아파치 평민 - 파일 업로드

FileItemFactory factory = new DiskFileItemFactory(); 
    ServletFileUpload upload = new ServletFileUpload(factory); 
    List<FileItem> items = upload.parseRequest(request); 
    Iterator<FileItem> iterator = items.iterator(); 
    while(iterator.hasNext()) { 
     FileItem item = iterator.next(); 
     if(!item.isFormField()) { 
      File uploadedFile = new File("fullPathToFile"); 
      System.out.println(uploadedFile.getAbsolutePath()); 
      item.write(uploadedFile);           
     } 
    } 
관련 문제