Maison > interface Web > js tutoriel > Comment forcer le téléchargement d'images dans le navigateur à l'aide de la programmation côté client ?

Comment forcer le téléchargement d'images dans le navigateur à l'aide de la programmation côté client ?

Patricia Arquette
Libérer: 2024-11-09 05:56:02
original
227 Les gens l'ont consulté

How to Force Browser Downloads for Images Using Client-Side Programming?

Forcer le téléchargement des images dans le navigateur à l'aide de la programmation côté client

Arrière-plan

Lorsque vous cliquez sur une feuille Excel ou d'autres fichiers téléchargeables, les navigateurs lancent généralement le processus de téléchargement de manière transparente. Cependant, il est nécessaire de reproduire ce comportement spécifiquement pour les fichiers image.

Implémentation des téléchargements d'images

En utilisant uniquement la programmation côté client, vous pouvez réaliser des téléchargements d'images comme suit :

document.onclick = function (e) {
    e = e || window.event;
    var element = e.target || e.srcElement;
    if (element.innerHTML == "Image") {
        var name = element.nameProp;
        var address = element.href;
        saveImageAs1(element.nameProp, element.href);
        return false; // Prevent default action and stop event propagation
    }
    else
        return true;
};

function saveImageAs1(name, address) {
    if (confirm('you wanna save this image?')) {
        window.win = open(address);
        setTimeout('win.document.execCommand("SaveAs")', 100);
        setTimeout('win.close()', 500);
    }
}
Copier après la connexion

Ce code intercepte les événements de clic sur l'élément image et invite l'utilisateur à l'enregistrer à l'aide d'une boîte de dialogue Enregistrer sous box.

Cas des téléchargements Excel

Dans le cas des téléchargements Excel, les navigateurs gèrent le processus de téléchargement en interne. Ils identifient le type de fichier en fonction du type MIME et déclenchent le comportement de téléchargement approprié sans aucune programmation supplémentaire.

Attribut HTML5 'download'

Cependant, les navigateurs les plus récents prennent en charge le attribut 'download' pour elements, qui offre un moyen plus pratique de lancer le téléchargement d'images :

<a href="http://localhost:55298/SaveImage/demo/abc.jpg" download>Image</a>
Copier après la connexion

Cet attribut invite le navigateur à télécharger l'image avec le nom de fichier fourni ou le nom de fichier d'origine, s'il n'est pas spécifié. Notez que les téléchargements multi-origines utilisant cette méthode ne sont plus pris en charge à partir de 2018 en raison de problèmes de sécurité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal