Jak wygenerować i poprosić o zapisanie pliku z zawartości w przeglądarce klienta? [duplikować]

To pytanie ma już tutaj odpowiedź:

JavaScript: Utwórz i zapisz plik 11 odpowiedzi

Mam sytuację, w której muszę dać moim użytkownikom opcję zapisywania niektórych danych przechowywanych lokalnie w ich pamięci klienta na dysku. Obecne obejście, jakie mam, to taki program obsługi

(define-handler (download-deck) ((deck :json))
  (setf (header-out :content-type) "application/json"
    (header-out :content-disposition) "attachment")
  deck)

co robi dokładnie tak, jak wygląda. Klient wysyła swoje dane i zapisuje zwrócony plik lokalnie.

To wydaje się głupie.

Proszę,Proszę powiedz mi, że istnieje lepszy, prostszy, w wielu przeglądarkach sposób pozwalający klientowi zapisać lokalne dane na dysku za pomocą okna dialogowego zapisywania plików.

Każda odpowiedź, którą przeczytałem na ten temat, brzmi: „nie, nie można zapisywać plików za pomocą javascript” lub „tak, jest jeden częściowo udokumentowany fragment interfejsu API Chrome, który może pozwolić ci zrobić to na trzech stronach”.

questionAnswers(3)

yourAnswerToTheQuestion