Heutzutage ermöglichen viele Anwendungen Benutzern das Hochladen und Herunterladen von Dateien. Mit Tools zur Plagiatserkennung können Benutzer beispielsweise eine Dokumentdatei hochladen, die Text enthält. Anschließend wird auf Plagiate geprüft und ein Bericht erstellt, den Benutzer herunterladen können.
Jeder weiß, wie man mit dem Eingabetyp „Datei“ eine Datei-Upload-Schaltfläche erstellt, aber nur wenige Entwickler wissen, wie man mit JavaScript/JQuery eine Datei-Download-Schaltfläche erstellt.
In diesem Tutorial lernen Sie verschiedene Möglichkeiten kennen, einen Dateidownload auszulösen, wenn auf eine HTML-Schaltfläche oder JavaScript geklickt wird.
Immer wenn wir das Download-Attribut zum -Tag hinzufügen, können wir das -Tag als Datei-Download-Schaltfläche verwenden. Wir müssen die URL der Datei als Wert des href-Attributs übergeben, damit der Benutzer eine bestimmte Datei herunterladen kann, wenn er auf den Link klickt.
Benutzer können mit dem Tag eine Schaltfläche zum Herunterladen von Dateien gemäß der folgenden Syntax erstellen.
<a href = "file_path" download = "file_name">
In der obigen Syntax haben wir das Download-Attribut und den Dateinamen als Wert des Download-Attributs hinzugefügt.
Dateipfad – Dies ist der Pfad zu der Datei, die der Benutzer herunterladen soll.
Jedes Mal, wenn der Benutzer auf die Schaltfläche klickt, kann er sehen, dass dadurch der Dateidownload ausgelöst wird.
<html> <body> <h3> Using the <i> download attribute of <a> tag </i> to create file download button using JavaScript. </h3> <p> Click the below button to download the image file </p> <a href = "https://images.pexels.com/photos/268533/pexels-photo-268533.jpeg?cs=srgb&dl=pexels-pixabay-268533.jpg&fm=jpg" Download = "test_image"> <button type = "button"> Download </button> </a> </body> </html>
Die Methode window.open() öffnet eine URL in einem neuen Tab. Wir können die URL als Parameter der open()-Methode übergeben.
Wenn die open()-Methode die URL nicht öffnen kann, wird der Dateidownload ausgelöst.
Benutzer können die Methode window.open() gemäß der folgenden Syntax verwenden, um eine Schaltfläche zum Herunterladen von Dateien zu erstellen.
window.open("file_url")
In der obigen Syntax übergeben wir die Datei-URL als Parameter der Methode window.open().
Im folgenden Beispiel wird jedes Mal, wenn der Benutzer auf die Schaltfläche klickt, die Funktion downloadFile() ausgelöst. In der Funktion downloadFile() löst die Methode window.open() das Herunterladen von Dateien aus.
<html> <body> <h3> Using the <i> window.open() method </i> to create a file download button using JavaScript. </h3> <p> Click the below button to download the image file </p> <button type = "button" onclick = "downloadFile()"> Download </button> </body> <script> function downloadFile() { window.open("https://images.pexels.com/photos/268533/pexels-photo-268533.jpeg?cs=srgb&dl=pexels-pixabay-268533.jpg&fm=jpg") } </script> </html>
Diese Methode ermöglicht es dem Benutzer, Text in das Eingabefeld zu schreiben. Anschließend erstellen wir anhand des eingegebenen Textes eine neue Datei und ermöglichen dem Benutzer, die Datei herunterzuladen.
Benutzer können eine Datei mit benutzerdefiniertem Text gemäß der folgenden Syntax erstellen und Benutzern den Download ermöglichen.
var hidden_a = document.createElement('a'); hidden_a.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(texts)); hidden_a.setAttribute('download', "text_file"); document.body.appendChild(hidden_a); hidden_a.click();
In der obigen Syntax haben wir den Text codiert, um ihn an die Datei anzuhängen, und ihn mit den Tags erstellt.
Schritt 1 – Holen Sie sich den Text, indem Sie auf die HTML-Eingabe zugreifen.
Schritt 2 - Erstellen Sie ein benutzerdefiniertes HTML -Tag mit der JavaScript-Methode createElement().
Schritt 3 - Verwenden Sie die Methode setAttribute(), um das href-Attribut für das HTML-Element „hidden_a“ festzulegen. Verwenden Sie den codierten Text als Wert des href-Attributs.
Schritt 4 - Verwenden Sie die Methode setAttribute() erneut und setzen Sie das Download-Attribut auf den Download-Dateinamenwert des versteckten Elements versteckt_a.
Schritt 5 – Hängen Sie das Hidden_a-Element an den Körper an.
Schritt 6 – Verwenden Sie die Methode click(), um einen Klick auf das Element „hidden_a“ auszulösen. Wenn die Methode click() aufgerufen wird, beginnt der Download.
Schritt 7 – Entfernen Sie das Hidden_a-Element mit der Methode „removeChild()“ aus dem Dokumentkörper.
Im folgenden Beispiel können Benutzer einen beliebigen benutzerdefinierten Text in das Eingabefeld eingeben und auf die Schaltfläche klicken, um den Dateidownload mithilfe von JavaScript auszulösen. Wir haben den oben genannten Algorithmus implementiert, um einen Dateidownload auszulösen.
<html> <body> <h3> Create the file from the custom text and allow users to download that file </h3> <p> Click the below button to download the file with custom text. </p> <input type = "text" id = "file_text" value = "Entetr some text here."> <button type = "button" onclick = "startDownload()"> Download </button> </body> <script> function startDownload() { // access the text from the input field let user_input = document.getElementById('file_text'); let texts = user_input.value; // Create dummy <a> element using JavaScript. var hidden_a = document.createElement('a'); // add texts as a href of <a> element after encoding. hidden_a.setAttribute('href', 'data:text/plain;charset=utf-8, '+ encodeURIComponent(texts)); // also set the value of the download attribute hidden_a.setAttribute('download', "text_file"); document.body.appendChild(hidden_a); // click the link element hidden_a.click(); document.body.removeChild(hidden_a); } </script> </html>
Grammatik
let results = await axios({ url: 'file_path', method: 'GET', responseType: 'blob' }) // use results as a value of href attribute of <a> tag to download file hidden_a.href = window.URL.createObjectURL(new Blob([results.data]));
Die chinesische Übersetzung von
Beispiel 4Danach haben wir per JavaScript auf das -Element geklickt, um den Dateidownload auszulösen.
<html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/axios/1.3.1/axios.min.js"> </script> </head> <body> <h3> Using the <i> axios library </i> to trigger a download file. </h3> <p> Click the below button to download the file with custom text. </p> <button type = "button" onclick = "startDownload()"> Download </button> </body> <script> async function startDownload() { // get data using axios let results = await axios({ url: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZ4gbghQxKQ00p3xIvyMBXBgGmChzLSh1VQId1oyhYrgir1bkn812dc1LwOgnajgWd-Yo&usqp=CAU', method: 'GET', responseType: 'blob' }) let hidden_a = document.createElement('a'); hidden_a.href = window.URL.createObjectURL(new Blob([results.data])); hidden_a.setAttribute('download', 'download_image.jpg'); document.body.appendChild(hidden_a); hidden_a.click(); } </script> </html>
Das obige ist der detaillierte Inhalt vonWie kann ich den Dateidownload auslösen, wenn ich auf die HTML-Schaltfläche oder auf JavaScript klicke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!