2012-01-12 3 views
0

Я работаю с play framework, и у меня есть проблема с моим развернутым приложением на playapps.net, что у меня нет localy. Вот его мой код:Parse images directory

public static void image(Long idCategorieProject, Long idImage) 
{ 

    CategorieProject categorieproject = CategorieProject.findById(idCategorieProject); 
    List<Categorie> categories = Categorie.all().fetch(); 

    // SMALL IMAGES 
    List<String>smallImages = null; 
    try 
    { 
     File dirSmall = new File("public/images/projects/"+idCategorieProject+"/small/"); 
     smallImages = new ArrayList(); 
     File[] smallImageFiles = dirSmall.listFiles(); 

     for (int i = 0; i < smallImageFiles.length; i++) { 
      smallImages.add(smallImageFiles[i].getName()); 
     } 

    } catch (Exception e) { 
     System.out.println(e); 
    } 

    // FULL IMAGE 
    List<String>fullImages = null; 
    try 
    { 
     File dirSmall = new File("public/images/projects/"+idCategorieProject+"/full/"); 
     fullImages = new ArrayList(); 
     File[] fullImageFiles = dirSmall.listFiles(); 

     for (int i = 0; i < fullImageFiles.length; i++) { 
      if (i == idImage) 
       fullImages.add(fullImageFiles[i].getName()); 
     } 

    } catch (Exception e) { 
     System.out.println(e); 
    } 

    render(lang, categorieproject, categories, fullImages, smallImages); 
} 

, локальный, мои изображения массивы не нулевые, и я могу показать их, но с версией развертывания, это кажется, что массивы являются недействительными. Есть ли еще одно решение для анализа каталога изображений?

ответ

0

Вы используете относительные пути для своих файлов, что может вызывать проблемы в зависимости от приложения, из которого выполняется приложение.

Вы будете более безопасны с помощью объекта VirtualFile (play.vfs.VirtualFile), доступного в основном режиме воспроизведения, и используя метод fromRelativePath(String path).

Для получения дополнительной информации вы можете проверить это сообщение - How to access a resource file using relative path in play framework project? или просто найти VirtualFile [Playframework] в переполнении стека.

0

Если у вас есть проблемы с листингом файлов при развертывании приложения, а не при локальном запуске, возможно, это проблема с разрешением.