Rumah >hujung hadapan web >tutorial js >Bagaimana JavaScript Boleh Menulis Data ke Fail untuk Muat Turun?

Bagaimana JavaScript Boleh Menulis Data ke Fail untuk Muat Turun?

DDD
DDDasal
2024-12-26 03:22:091002semak imbas

How Can JavaScript Write Data to a File for Download?

Menulis Data ke Fail dalam JavaScript

Walaupun JavaScript tidak menyokong penulisan fail secara asli, ia masih boleh dicapai melalui penggunaan Blobs yang bijak dan URL.createObjectURL.

Pelayar membenarkan penciptaan fail menggunakan kaedah ini. Walau bagaimanapun, disebabkan kebimbangan keselamatan, penyimpanan terus fail yang dibuat adalah dilarang. Sebaliknya, pautan muat turun boleh diberikan kepada pengguna. Penyemak imbas mungkin menyokong atribut "muat turun", yang membolehkan anda mencadangkan nama fail.

Kod di bawah menyediakan fungsi untuk menjana fail teks daripada teks yang diberikan:

var makeTextFile = function (text) {
  var data = new Blob([text], {type: 'text/plain'});
  return window.URL.createObjectURL(data);
};

Untuk memulakan muat turun dari kawasan teks, anda boleh menggunakan kod berikut:

var create = document.getElementById('create'),
    textbox = document.getElementById('textbox');

create.addEventListener('click', function () {
  var link = document.createElement('a');
  link.setAttribute('download', 'info.txt');
  link.href = makeTextFile(textbox.value);
  document.body.appendChild(link);

  // simulate mouse click on link to start download
  var event = new MouseEvent('click');
  link.dispatchEvent(event);
  document.body.removeChild(link);
});

Atas ialah kandungan terperinci Bagaimana JavaScript Boleh Menulis Data ke Fail untuk Muat Turun?. 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