Bagaimana Anda mengatur nama file gumpalan di JavaScript ketika memaksa mengunduhnya melalui window.location?
function newFile(data) {
var json = JSON.stringify(data);
var blob = new Blob([json], {type: "octet/stream"});
var url = window.URL.createObjectURL(blob);
window.location.assign(url);
}
Menjalankan kode di atas mengunduh file secara instan tanpa refresh halaman yang terlihat seperti:
bfefe410-8d9c-4883-86c5-d76c50a24a1d
Saya ingin menetapkan nama file sebagai my-download.json .
javascript
html
download
blob
html5-filesystem
Ash Blue
sumber
sumber
Saya hanya ingin memperluas jawaban yang diterima dengan dukungan untuk Internet Explorer (sebagian besar versi modern, lagian), dan untuk merapikan kode menggunakan jQuery:
Berikut ini contoh Fiddle . Semoga berhasil .
sumber
Prinsip yang sama dengan solusi di atas. Tapi saya punya masalah dengan Firefox 52.0 (32 bit) di mana file besar (> 40 MBytes) terpotong pada posisi acak. Menjadwalkan ulang panggilan revokeObjectUrl () memperbaiki masalah ini.
contoh jsfiddle
sumber
Terlambat, tetapi karena saya memiliki masalah yang sama saya menambahkan solusi saya:
sumber
revokeObjectURL
setelahlocation.assign
berfungsi dengan baik di Firefox, tetapi merusak unduhan di Chrome.sumber
link.click()
daripada mengirim acara mouse.Contoh kerja tombol unduh, untuk menyimpan foto kucing dari url sebagai "cat.jpg":
HTML:
JavaScript:
sumber
window.location.assign tidak berfungsi untuk saya. itu mengunduh dengan baik tetapi unduhan tanpa ekstensi untuk file CSV pada platform Windows. Berikut ini bekerja untuk saya.
sumber
Ini solusi saya. Dari sudut pandang saya, Anda tidak dapat melewati
<a>
.sumber