Rumah > hujung hadapan web > tutorial js > Bagaimanakah saya boleh mengawal nama fail semasa memuat turun gumpalan dalam JavaScript?

Bagaimanakah saya boleh mengawal nama fail semasa memuat turun gumpalan dalam JavaScript?

DDD
Lepaskan: 2024-12-09 12:23:14
asal
760 orang telah melayarinya

How Can I Control the Filename When Downloading Blobs in JavaScript?

Nama Fail Tersuai untuk Muat Turun Blob dalam JavaScript

Apabila memuat turun fail gumpalan secara paksa melalui window.location, nama fail yang ditetapkan boleh menjadi rentetan rawak . Untuk menyesuaikan nama fail ini, penyelesaian yang melibatkan elemen tersembunyi digunakan.

Pelaksanaan

FileSaver.js menyediakan pendekatan yang melibatkan:

  1. Mencipta elemen.
  2. Menetapkan atribut hrefnya kepada URL gumpalan.
  3. Menetapkan atribut muat turunnya kepada nama fail yang diingini.
  4. Mengklik pada elemen.

Contoh

Contoh ringkas berikut menggambarkan teknik:

var saveData = (function () {
  var a = document.createElement("a");
  document.body.appendChild(a);
  a.style = "display: none";
  return function (data, fileName) {
    var json = JSON.stringify(data),
      blob = new Blob([json], { type: "octet/stream" }),
      url = window.URL.createObjectURL(blob);
    a.href = url;
    a.download = fileName;
    a.click();
    window.URL.revokeObjectURL(url);
  };
}());

var data = { x: 42, s: "hello, world", d: new Date() },
  fileName = "my-download.json";

saveData(data, fileName);
Salin selepas log masuk

Nota

  • Pelayar lama mungkin tidak menyokong muat turun atribut.
  • Format fail tertentu mungkin dianggap tidak selamat dan mencetuskan kegagalan muat turun. Menyimpan fail JSON dengan sambungan .txt disyorkan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengawal nama fail semasa memuat turun gumpalan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan