2010-04-04 34 views
7

Bên trong ứng dụng grails, tôi cần tải lên tệp dưới ứng dụng web/js, thêm tiền tố và đặt vào S3. Tôi đang gặp khó khăn trong việc tìm hiểu cách đọc tệp js theo cách sẽ hoạt động trong phát triển (/ web-app/js) và sản xuất (/ js). Tôi đang làm điều này từ bên trong một đối tượng miền.Đọc biểu mẫu tệp ứng dụng

Trả lời

8

Trong điều khiển của bạn, bạn có thể gọi:

def jsFolder = grailsAttributes.getApplicationContext().getResource("js/").getFile() 

và sau đó tiến hành jsFolder. Để xác định thư mục cơ sở của một ứng dụng Grails chạy, sử dụng

String dir = applicationContent.getResource("/").getFile() 

Bắt con đường js từ một dịch vụ là một chút khó khăn:

Bạn cần phải thực hiện các giao diện ApplicationContextAware như thế này:

class MyService implements ApplicationContextAware { 
ApplicationContext applicationContext 

Tuy nhiên, gọi mã này từ một lớp miền không phải là một ý tưởng hay (xem thread để được giải thích) và tôi thậm chí không chắc chắn nếu có thể, ngoại trừ việc nhận đường dẫn từ hướng dẫn cấu hình

Hy vọng điều đó sẽ hữu ích.

Các vấn đề liên quan