![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
cześć
dodałem do profilu użytkownika możliwość upload obrazka (avatar), no i pięknie działa. Ale po zalogowaniu się do konta a następnie przekierowaniu -> wywala bład: Error: Call to a member function move() on a non-object czepia się o linię którą wyszczałkowałem ![]() Kod klasy User.php
Ten post edytował dopelganger 23.09.2015, 13:46:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ja bym już $this sprawdzał
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
ustawiasz zmienną która powinna być UploadedFile stringiem. Usuń to Powinno być wyżej
Dokładnie przeczytaj http://symfony.com/doc/current/cookbook/do...le_uploads.html Ten post edytował memory 24.09.2015, 07:49:09 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
ustawiasz zmienną która powinna być UploadedFile stringiem. Usuń to Powinno być wyżej
Dokładnie przeczytaj http://symfony.com/doc/current/cookbook/do...le_uploads.html nadal ten sam byk ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Podaj całą zawartość klasy
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Podaj całą zawartość klasy
zaznacze że zmieniając na: setImage(UploadedFile $image = null) w ogóle nie działa upload ani dodawanie do bazy nazwy pliku, wcześniejsza wersja działała |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Chyba już tutaj masz źle, wydaje mi się że $image powinno mieć tylko @Assert, bez kolumny w bazie itd. Zresztą tak jest nawet w tutorialu od symfony. Do bazy zapisujesz np ścieżkę na dysku w osobnym polu. Ten post edytował kapslokk 24.09.2015, 08:26:38 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chyba już tutaj masz źle, wydaje mi się że $image powinno mieć tylko @Assert, bez kolumny w bazie itd. Zresztą tak jest nawet w tutorialu od symfony. Do bazy zapisujesz np ścieżkę na dysku w osobnym polu. tylko że zapisuje tutaj nazwę pliku i to działa, działa również upload, wywala mi ten błąd po logowaniu i redirect na szablon profilu. Logowanie zadziała, ale musze cofnąć się do jakiejś innej strony i już wtedy jest ok. Ten post edytował dopelganger 24.09.2015, 08:30:34 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zapisuje, ale w 'image' przez to masz string, a nie obiekt. Na stringu nie zrobisz ->move, a na obiekcie owszem.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
Przeczytaj dokładnie dokumentacje. Czemu do zmiennej $this->image przypisujesz dwie operacje ? zapis nazwy zdjecia oraz klase uploadedfile. Musisz to rozdzielić
I zmiana w createFormBuilder image na file Ten post edytował memory 24.09.2015, 08:39:47 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
wywala mi błąd:
Catchable Fatal Error: Argument 1 passed to Test\UserBundle\Entity\User::setFile() must be an instance of Test\UserBundle\Entity\UploadedFile, instance of Symfony\Component\HttpFoundation\File\UploadedFile given, called in /home/www2/tests.../vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on line 410 and defined przywala się do
w CreateBuiler mam:
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 616 Pomógł: 84 Dołączył: 29.11.2006 Skąd: bełchatów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 623 Pomógł: 144 Dołączył: 22.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kod use Symfony\Component\HttpFoundation\File\UploadedFile; ? |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Eh
Rozdziel to na 2 przypadki: 1. masz model który jest klasą DTO i taki powinien zostać, czyste get,set,add,remove, żadnych operacji na plikach. 2. masz usługę która na podstawie w/w obiektu ogarnia save/remove/move itd. obrazka Dzięki temu oddzielisz logikę od modelu i obie drogi będziesz mógł rozwijać niezależnie, bo po co sobie utrudniać? P.S. Zaintersuj się bibliotekami do zarządzania obrazkami, jest ich masa na GH i/lub Packagist Ten post edytował kpt_lucek 24.09.2015, 14:05:02 -------------------- Cytat There is a Bundle for that Lukas Kahwe Smith - October 31th, 2014 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 236 Pomógł: 0 Dołączył: 27.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
cześć
sory, ale wracam jeszcze do tego tematu. Przetestowałem 3 różne sposoby tego uploadu łącznie z tym który tutaj wrzuciłem a potem poprawiłem wg waszych wskazówek i znalazłem pewną (błędną?) prawidłowość w każdym ze sposobów: a więc: edytuje profil usera, wskazuje obrazek z dysku, zapisuje dane i JEST OK, => ALE KIEDY ponownie to robie dla danego usera już nie zapisuje obrazka do bazy ani go nie uploaduje, nawet kiedy usune nazwę pliku z bazy :/ I ZNOWU kiedy tworze nowy / kolejny profil a potem aktualizuje jego dane - plik wczytuje na serwer i zapisuje do bazy ![]() taka pętla... to dotyczy jakiegokolwiek przykładu wg którego się wzoruję lub testuje ![]() dziwne zjawisko ![]() może ktoś coś wie ? Ten post edytował dopelganger 8.10.2015, 12:39:12 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:50 |