Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Muat Turun PDF Dijana oleh Kelas Tindakan melalui Ajax?

Bagaimanakah Saya Boleh Muat Turun PDF Dijana oleh Kelas Tindakan melalui Ajax?

DDD
DDDasal
2024-11-01 23:01:29426semak imbas

How Can I Download a PDF Generated by an Action Class via Ajax?

Mengendalikan muat turun PDF melalui Ajax: Penyelesaian

Apabila panggilan Ajax cuba memuat turun fail PDF yang dijana oleh kelas tindakan, ia mungkin menghadapi ralat jika strim tidak boleh dihantar ke penyemak imbas. Untuk menyelesaikan isu ini, pendekatan berbeza diperlukan.

Dalam kelas tindakan yang disediakan, fail PDF dijana dan strimnya disediakan untuk dimuat turun dengan pengepala yang betul. Walau bagaimanapun, panggilan Ajax perlu dikendalikan secara berbeza untuk memudahkan pemindahan.

Berikut ialah penyelesaian yang telah berjaya dilaksanakan:

<code class="javascript">$.ajax({
  url: '<URL_TO_FILE>',
  success: function(data) {
    var blob=new Blob([data]);
    var link=document.createElement('a');
    link.href=window.URL.createObjectURL(blob);
    link.download="<FILENAME_TO_SAVE_WITH_EXTENSION>";
    link.click();
  }
});</code>

Dalam kod ini, panggilan Ajax mendapatkan semula fail PDF aliran sebagai pembolehubah data. Ia kemudian mencipta objek Blob daripada data. Elemen pautan baharu dibuat dan hrefnya ditetapkan kepada URL Blob. Atribut muat turun ditetapkan kepada nama fail yang dikehendaki dengan sambungan yang sesuai. Akhir sekali, pautan diklik untuk memulakan proses muat turun.

Pendekatan ini telah terbukti berkesan dalam menghantar fail PDF yang dijana oleh kelas tindakan kepada penyemak imbas untuk dimuat turun, membolehkan penyepaduan yang lancar antara pelayan dan klien.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Muat Turun PDF Dijana oleh Kelas Tindakan melalui Ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn