Cara melaksanakan fungsi muat turun dalam JavaScript: 1. Muat turun melalui tag; 2. Muat turun melalui kaedah "window.open" 3. Muat turun melalui kaedah "location.href"; pemindahan fail Objek gumpalan melaksanakan fungsi muat turun.

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi javascript 1.8.5, komputer Dell G3.
Bagaimana untuk melaksanakan fungsi muat turun dalam javascript?
js melaksanakan fungsi muat turun fail
1 muat turun teg
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <body>
<button onClick= "download()" >a标签下载</button>
<script>
function download(url = 'http:www.xxx.com/download?name=file.pdf', fileName = '未知文件') {
const a = document.createElement('a');
a.style.display = 'none';
a.setAttribute('target', '_blank');
fileName && a.setAttribute('download', fileName);
a.href = url;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
</script>
</body>
|
Salin selepas log masuk
Kelebihan:
<🎜. >- Anda boleh memuat turun terus txt, png, pdf, exe, xlsx dan jenis fail lain
Kelemahan:
- teg hanya boleh digunakan mendapatkan permintaan, jadi url mempunyai had panjang
- Tidak dapat mendapatkan kemajuan muat turun
- Sekatan merentas domain
- Tidak dapat membawa token dalam pengepala untuk operasi pengesahan
- Tidak dapat menentukan sama ada antara muka berjaya
- Isu keserasian IE
2 Muat turun tetingkap.buka
1 2 3 4 5 6 7 8 9 10 11 12 13 | <body>
<button onclick= "download('http://www.xxx.com/download?name=file.pdf')" >window.open下载</button>
<script>
function download(url) {
window.open(url, '_self');
/**
* _blank:在新窗口显示目标网页
* _self:在当前窗口显示目标网页
* _top:框架网页中在上部窗口中显示目标网页
/**
}
</script>
</body>
|
Salin selepas log masuk
Kelebihan:
- Mudah dan mudah<🎜. >
Kelemahan:
Akan ada masalah had panjang URL Anda perlu memberi perhatian kepada masalah pengekodan url Tidak dapat mendapatkan Kemajuan muat turun Tidak dapat membawa token dalam pengepala untuk operasi pengesahan Tidak dapat menentukan sama ada antara muka berjaya Tidak boleh memuat turun terus jenis fail yang boleh dipratonton terus oleh penyemak imbas (txt, png, pdf akan dipratonton terus) 3 Muat turun lokasi.href
Kelebihan
1 2 3 4 5 6 7 8 9 | <body>
<button onclick= "download('http://www.xxx.com/download?name=file.pdf')" >location.href下载
</button>
<script>
function download(url) {
window.location.href = url;
}
</script>
</body>
|
Salin selepas log masuk
Mudah, mudah dan langsung<🎜. >- Boleh memuat turun fail besar (G atau lebih)
- Kelemahan
Akan ada panjang URL masalah had
- Anda perlu memberi perhatian kepada masalah pengekodan url
- Tidak dapat mendapatkan kemajuan muat turun
- Tidak boleh membawa token dalam pengepala untuk operasi pengesahan
- Tidak boleh memuat turun terus jenis fail yang boleh dipratonton terus oleh penyemak imbas (txt, png, pdf akan dipratonton terus)
- Adalah mustahil untuk menilai sama ada antara muka berjaya dikembalikan
- 3 Muat turun objek gumpalan pemindahan fail
Kelebihan :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <button onclick= "download()" >文件流转blob对象下载</button>
<script>
download() {
axios({
url: 'http:
method: 'get',
responseType: 'blob',
}).then(res => {
const fileName = res.headers.content-disposition.split(';')[1].split('filename=')[1];
const filestream = res.data;
const blob = new Blob([filestream], {type: 'application/vnd.ms-excel'});
const a = document.createElement('a');
const href = window.URL.createObjectURL(blob);
a.href = href;
a.download = decodeURL(fileName );
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
window.URL.revokeObjectURL(href);
})
}
</script>
|
Salin selepas log masuk
Anda boleh memuat turun txt, png, pdf dan jenis fail lain
-
Anda boleh membawa token dalam pengepala untuk operasi pengesahan
-
Anda boleh mendapatkan kemajuan muat turun fail
-
Anda boleh menilai sama ada antara muka kembali berjaya
-
Kelemahan :
Isu keserasian, tidak tersedia di bawah IE10, sila perhatikan penyemak imbas Safari, laman web rasmi menyatakan bahawa Safari mempunyai masalah serius dengan gumpalan yang merupakan jenis aplikasi/strim oktet
-
Dapatkan semua strim fail dikembalikan oleh bahagian belakang sebelum memuat turun
-
Pembelajaran yang disyorkan: "
Tutorial Video JavaScript
"
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi muat turun dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!