Symfony2 + jQuery File Upload [backend]

wpis w: Symfony | 0

Każdy chce stworzyć serwisy ładne, funkcjonalne i z wieloma bajerami. Fajną rzeczą jaką można udostępnić użytkownikom, to wgrywanie plików z podglądem w czasie rzeczywistym. Ciekawym rozwiązaniem jest jQuery File Upload który dostarcza nam frontend i backend.

W symfony2/3 bez problemu wgramy frontend (o tym kiedyś indziej), problemem może być backend. Istnieją już gotowe bundle. Wiele z nich testowałem. Niestety nie spełniały moich oczekiwań, dlatego napisałem własne rozwiązanie.

Zakładamy dość prosty model na którym będziemy pracować, możemy go dowolnie rozwijać.

 

Przykładowy interfejs:

Model:

Pozwolicie, że getery i setery wygenerujecie sobie sami.

 

Tworzymy serwis bazowy do obsługi: wyświetlania, zapisu oraz usuwania plików. Możemy ją używać bezpośrednio, do obsługi modelu który zaprezentowałem wyżej, lub rozwinąć.

 

Inicjacja serwisu:

 

Potrzebujemy 2 akcji, pierwsza która będzie nam zwracać listę plików oraz zapisywać, druga która zajmie się usuwaniem plików.

Przykład:

 

Teraz wystarczy wygenerować odnośniki do naszych kontrolerów:

 

Gdybyśmy chcieli użyć tej klasy kilka razy, na różnych modelach, przykładowo w galerii gdzie potrzebna jest kategoryzacja plików bez problemu możemy przeładować metodę setObejct()

Oczywiście brakuje jeszcze akcji do usuwania, ale myślę że sobie poradzicie.

 

Klasę można oczywiście udoskonalić. Jest dość prosta i obsługuje podstawowe mechanizmy do obsługi jQuery File Upload. Ma też implementacje generowania miniaturek.

Zostaw Komentarz