2011-03-19 2 views
0

파일이 업로드되어 있지만, 이것은 내가 브레이크 포인트를 사용스트럿츠 2 파일 업로드 및 저장 문제는

public String uploadPhoto() 
{ 
    HttpServletRequest request = ServletActionContext.getRequest(); 
    String filePath = request.getContextPath(); 
    File fileToCreate = new File(filePath, this.userImageFileName); 

try { 
     FileUtils.copyFile(this.userImage, fileToCreate); 
     Users user = userDao.findByUsername((String)session.get("username")); 
     user.setPhotoName(filePath+userImageFileName); 
     userDao.save(user); 
    } catch (IOException e) { 
     addActionError(e.getMessage()); 
     e.printStackTrace(); 
     return INPUT; 
    } 

    return "UPLOADED"; 
} 

내 행동 클래스의 기능입니다

를 저장하기되지 않고 모든 문이 성공적으로

을 실행

내 컨텍스트 루트에 파일이 없습니다.

답변

0

사용하여 업로드 된 파일을 저장해야합니다 역순으로 호출 될 때 컨텍스트를 정리합니다 나는 그것이 있어야

HttpServletRequest request = ServletActionContext.getRequest(); 
String filePath = request.getContextPath(); 

대신 잘못된 경로를 설정했다

String filePath = ServletActionContext.getServletContext().getRealPath("/"); 
0

Sumit !!

Struts2는 파일 업로드 기능을 내장하고 있습니다.이 기능을 사용하면 파일을 업로드하기 위해 인터셉터를 구축하는 것이 매우 쉽습니다. 다음은이 인터셉터는 IO 시스템을 사용하여 파일을 저장하는 방법 Action 클래스에의 접근 방식을 사용할하면 파일 내용 및 만들 것 같은

File Upload

에 대한 링크입니다. ,

또한 그 struts2이 임시 컨텍스트에 파일을 넣어 것입니다주의와 인터셉터는 내가 해결책을 발견 IO

+0

나는 정확하게 그 이미지를 업로드 괜찮다고 말했지만 FileUtils.copyFile (this.userImage, fileToCreate)를 사용하여 저장할 때; 그것은 저장되지 않습니다. 응답하기 전에 신중하게 질문을 읽어주십시오. –

+0

Struts2 인터셉터가 업로드하는 컨텐트의 크기를 확인하고 파일 저장 방법에 문제가있는 것이 맞는지 확인하십시오. 파일 업로드 방법만을 제공합니다. temp 영역에 두십시오. 저장 방법은 범위에 포함되지 않으므로이 부분을 확인하면 도움이 될 것입니다. –

관련 문제