Używam do dodawania funkcji przesyłania zdjęć do formularza, ponieważ mam różne inne pola w formularzu, dlatego ustawiłem autoProcessQueue
na false
i przetwarzam je na kliknij przycisk Wyślij formularza, jak pokazano poniżej .Dodaj istniejące pliki obrazów w Dropzone
Dropzone.options.portfolioForm = {
url: "/user/portfolio/save",
previewsContainer: ".dropzone-previews",
uploadMultiple: true,
parallelUploads: 8,
autoProcessQueue: false,
autoDiscover: false,
addRemoveLinks: true,
maxFiles: 8,
init: function() {
var myDropzone = this;
this.element.querySelector("button[type=submit]").addEventListener("click", function(e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
});
}
}
To działa dobrze i pozwala mi przetwarzać wszystkie obrazy wysłane po przesłaniu formularza. Jednak chcę też móc wyświetlać obrazy już przesłane przez użytkownika, gdy ponownie edytuje formularz. Więc poszedłem za postem z Dropzone Wiki. https://github.com/enyo/dropzone/wiki/FAQ#how-to-show-files-already-stored-on-server
Która wypełnia obszar dropzone-preview
z istniejącymi obrazami, ale nie wysyła już istniejących zdjęć przy użyciu formularza przesłanego tym razem. Domyślam się, że to dlatego, że obrazy te nie są dodawane w queue
, ale jeśli tak, to jak można aktualizować po stronie serwera, na wypadek, gdyby istniejące zdjęcie zostało usunięte przez użytkownika?
Ponadto, jakie byłoby lepsze podejście, dodać ponownie dodane zdjęcia w queue
lub po prostu wysłać informacje o usuniętym pliku?
Dzięki Teppic tak musiałem zrobić to samo. :) – lalit
Litte poprawa: Dodaj "accepted: true" do pliku mockFile, więc Dropzone rozpoznaje plik jako poprawnie przesłany. Pozwala to na przykład na ograniczenie ilości plików do przesłania ("maxFiles"). – user1825294
Dzięki :) Pracowałam jak wdzięk – mdev