![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam na stronie 2-etapowy (składający się z dwóch formularzy) upload obrazków. Pierwszy formularz ("Załaduj obrazek") wgrywa go na serwer, a dopiero drugi ("Zapisz zmiany") dodaje bądź uaktualnia rekord w bazie danych. W wyniku tego procesu nieuchronnie powstawać będą obrazki-"sieroty" (te, które zostały wgrane na serwer ale z jakichś powodów nie zapisano zmian). Jak to najlepiej rozwiązać? Przychodzi mi do głowy dodatkowe pole w tabeli z obrazkami: "potwierdzony" z domyślną wartością 0 i zmienianą na 1 w przypadku wysłania formularza "Zapisz zmiany". A następnie okresowe ręczne lub automatycznie usuwanie "sierot". Da się to jakoś sprytniej rozwiązać zachowując te 2 etapy dodawania obrazków, czy może tak być? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
A dlaczego, nie wybierasz obrazka a po 'zapisaniu zmian' on sie uploaduje?
Ten post edytował MateuszScirka 21.11.2009, 22:22:04 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam formularz, w którym docelowo będzie można dodawać kilka obrazków, oraz zmieniać wartości pól tekstowych (wszystko przed zapisaniem zmian). W ten sposób jest to moim zdaniem bardziej czytelne. Użytkownik bardziej wie co się dzieje, że czeka bo ładuje się obrazek. A jak się załaduje to tylko proste "zapisz". Coś jak z emailami i ładowaniem załączników przed wysłaniem.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
No ok, fajnie, tyle że samo wysyłanie można zrobić już po naciśnięciu buttona "zapisz". Jeżeli koleś dodał obrazek to się zapisze, jeżeli nie wybrał to zapiszą się tylko pola tekstowe.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
A jest jakiś konkretny powód, dla którego w większości skrzynek email dostępnych przez www, załączniki wysyła się najpierw na serwer a dopiero później klika "wyślij (całą wiadomość)" ?
Ja wiem, że da się ja piszesz. Ale takie obejście problemu to dla mnie ostateczność. Ten post edytował qrzysztof 21.11.2009, 22:55:37 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Mi się zawsze wydawało że robi się tak dlatego, że np. user pisze wiad. a w tym czasie się wysyła i nie musi czekać potem 5 min po naciśnięciu wyślij aż się plik prześle, poza tym może się rozmyślić i zmienić załącznik. Choć tak serio to nie wiem dlaczego tak robią, nigdy się nad tym nie zastanawiałem specjalnie.
Może spróbuj przy przesyłaniu zdeklarować sesję z linkiem do pliku, jeżeli dasz zapisz zmiany, sesja zmieni np. wartość a jeżeli po przejściu na inną stronę sesja nadal będzie miała adres w wartości, usuń obrazek... takie pierwsze skojarzenie, nawet nie wiem czy takie coś by działało Ten post edytował MateuszScirka 21.11.2009, 23:00:23 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
No to tak samo jest u mnie. Tekstowe pola formularza podczas ładowania obrazka są jak najbardziej dostępne i można zaoszczędzić czas wypełniając je wtedy.
Też myślałem o sesji. Muszę pokombinować czy byłoby to wykonalne. Ten post edytował qrzysztof 21.11.2009, 23:05:05 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Może zrobić to na dwóch folderach? Jeden z obrazkami tymczasowymi a drugi docelowy (z już zapisanymi w bazie). Przy uploadzie tworzysz tymczasowy obrazek a jak user potwierdzi zmiany przenosisz go do docelowego katalogu. Co jakiś czas sprawdzasz sobie czy w tymczasowym katalogu są pliki starsze niż np. 1h (czyli raczej nikt już ich nie potrzebuje), jeśli są to je usuń. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
No to też jest jakieś rozwiązanie. Generalnie podobne do tego, które podałem w 1szym poście z tą zaletą, że nie trzeba ruszać bazy.
Ciekawe jak ten problem jest rozwiązany w skrzynkach pocztowych www. Co się dzieje z załącznikami załadowanymi na serwer, ale nie wysłanymi. Czy są od razu kasowane czy lądują w jakimś, raz na jakiś czas, opróżnianym folderze tymczasowym. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 06:14 |