2016-06-11 1 views
0

Я хочу загрузить файл из действия struts. Мне нужно в этом действии путь к моей папке:Как загрузить файл в определенную папку в struts 2

Я попытался с помощью

String contextPath = request.getContextPath(); 

, но я получаю java.lang.NullPointerException

+0

Вы хотите скачать файл? –

+0

Нет, я хочу загрузить его в определенную папку в WebContent –

+2

Просьба уточнить вашу конкретную проблему или добавить дополнительные сведения, чтобы точно указать, что вам нужно. Как это написано в настоящее время, трудно точно сказать, что вы просите. См. Страницу «Как спросить», чтобы помочь прояснить этот вопрос. –

ответ

0

Либо магазин в Каталина, который является родительской папки в папку проекта

 String rootPath = System.getProperty("catalina.home"); 
     File dir = new File(rootPath + File.separator + "yourfolderName"); 
     if (!dir.exists()) 
      dir.mkdirs(); 

     // Create the file on server 
     java.util.Date date= new java.util.Date(); 
     String Path = dir.getAbsolutePath() + File.separator + (new Timestamp(date.getTime())).toString().replace(":", "").toString().replace(".", ".").toString().replace(" ","").toString().replace("-","").toString()+".pdf"; 

Или создайте папку в своем проекте и сохраните ее.

if (!file.isEmpty()) { 
    //filter for checking file extewnsion 
    if(file.getContentType().equalsIgnoreCase("image/jpg") || file.getContentType().equalsIgnoreCase("image/jpeg")){ 
     //if file is >2 MB or < 2MB 
     double size = file.getSize(); 
     double kilobytes = (size/1024); 
     double megabytes = (kilobytes/1024); 
     if(megabytes<2){ 
    try { 
     byte[] bytes = file.getBytes(); 
     String filePath = request.getRealPath("/")+"yourFolderName\\ProfileImages\\"+SessionManagement.getUserName()+".jpg"; 
     BufferedOutputStream stream = 
       new BufferedOutputStream(new FileOutputStream(new File(filePath))); 
     stream.write(bytes); 
     stream.close(); 

     //console call 
    } 
    else{ 
     model.put("error", "Please select File less than 2 MB"); 
     return new ModelAndView("uploadPhotoTile"); 
    } 
    }else{ 
     model.put("error", "Please select JPEG File"); 
     return new ModelAndView("uploadPhotoTile"); 
    } 
} else { 
    model.put("error", "Please select File"); 
    return new ModelAndView("uploadPhotoTile"); 
}