Maison interface Web js tutoriel js téléchargement et dénomination du fichier

js téléchargement et dénomination du fichier

Jun 26, 2017 pm 03:03 PM
firefox ie javascript webkit 兼容 nom 浏览器

téléchargement de fichiers js ; méthode de téléchargement de fichiers dans IE ; téléchargement de fichiers à l'aide d'IE ; téléchargement de balises ; téléchargement de fichiers par navigateur

Compatibilité : >=IE10, Edge, chrome, firefox ;

Méthode de requête avec l'arrière-plan : requête GET, l'url porte les paramètres url ? id=123 (chemin réel du fichier caché) ;

La condition préalable à la mise en œuvre de la fonction de téléchargement est de déterminer le type de navigateur :

       browserType: function(){var userAgent = navigator.userAgent.toLowerCase();// Figure out what browser is being usedvar testCenter = {
                ie:function isIE() { //ie?if (!!window.ActiveXObject || "ActiveXObject" in window)return true;elsereturn false;
                },
                edge : ()=>{ return /dge/.test(userAgent) },
                chrome:()=>{ return /chrome/.test(userAgent)},
                safari: ()=>{  return /safari/.test(userAgent)&&!(/chrome/.test(userAgent))},
                opera: ()=>{  return  /opera/.test(userAgent) } ,
                msie: ()=>{  return /msie/.test(userAgent) && !/opera/.test(userAgent) },
                mozilla: ()=>{  return /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent) }
            };var browserObj = {};for(var k in testCenter){var result = testCenter[k]();var version = (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1];if(result){
                    browserObj.browser = k;
                    browserObj.version = version;return browserObj;
                }
            }
        },
Copier après la connexion
Afficher le code
Téléchargez la définition de la fonction : comme suit

dlFile : function(options) {var that = this;var url = options.url;
            url += "?" + $.param(options.data);   //这里也可以不用jqvar xhr = new XMLHttpRequest();        //发起请求xhr.open('get', url);
            xhr.responseType = 'blob';        //规定响应为流文件            xhr.send();
            xhr.onreadystatechange = function(){if (this.readyState == 4){if (this.status == '401' || this.status == '402') {                                     //在这里可以进行一些请求失败的处理                    }else if(this.status == 200) {var currentBrowserType = that.browserType();  //判断浏览器类型  见上述browserType函数;if(currentBrowserType.browser==='ie'&&(currentBrowserType.version == "10.0" || currentBrowserType.version == "11.0")){   //如果IE创建iframe对象来下载var href = window.URL.createObjectURL(this.response);var elemIF = document.createElement("iframe");
                                elemIF.src = "http://" + location.host + '/crowd-web/file/downloadFile?' + $.param(options.data);
                                elemIF.style.display = "none";
                                document.body.appendChild(elemIF);
                          }else if( currentBrowserType.browser==='edge'){ //如果edge使用h5的a标签的下载功能实现if (this.getResponseHeader("content-disposition")) {var fileName = decodeURI(this.getResponseHeader("content-disposition").replace("attachment;filename=", ""));
                                }var href = "http://" + location.host + '/crowd-web/file/downloadFile?' + $.param(options.data);var $dllink = $('<a href="&#39; + href + &#39;" download="&#39; + fileName + &#39;" ></a>').appendTo(document.body);
                                $dllink[0].click();
                                 window.URL.revokeObjectURL(href);
                        } else {  //其他现代浏览器采用H5的a标签新特性实现var href = window.URL.createObjectURL(this.response);if (this.getResponseHeader("content-disposition")) {var fileName = decodeURI(this.getResponseHeader("content-disposition").replace("attachment;filename=", ""));
                                }var $dllink = $('<a href="&#39; + href + &#39;" download="&#39; + fileName + &#39;" ></a>').appendTo(document.body);                             //initMouseEvent已经被放弃,直接使用a标签的dom节点click功能触发点击//var event = document.createEvent("MouseEvents");//event.initMouseEvent(//    "click", true, false, window, 0, 0, 0, 0, 0//    , false, false, false, false, 0, null//);//$dllink[0].dispatchEvent(event);$dllink[0].click();

                            window.URL.revokeObjectURL(href); //告诉浏览器可以释放该路径                        }
                    }
                }
            };
        },
Copier après la connexion
Afficher le code
Téléchargez l'appel de fonction : comme suit

(les méthodes ci-dessus sont toutes définies dans les outils d'objets globaux et peuvent également être écrites de la manière dont vous avez besoin)

 tools.dlFile({
                    data : {"fileId":item.id},
                    url :config.URL.downLoad,
                    contentType : "application/json;chartset=utf-8",
                })
Copier après la connexion
Afficher le code
Points de connaissances associés :

La meilleure méthode pour télécharger des fichiers : article de blog ;

Nouvelles fonctionnalités utilisant la balise H5 a : article de blog

Objet Blob et méthodes createObjectURL et revokeObjectURL : article de blog ; >une balise simule un événement de clic : Devinez le code suivant Peut-elle déclencher un transfert de page ?

Afficher le code
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></head><body><a href="http://www.baidu.com" id="hehe">百度</a><button>跳到百度</button><script src="bower_components/jquery/dist/jquery.js?1.1.11"></script><script>$("button").click(function(){
         alert(123)
         $("#hehe").click();
    })</script></body></html>
Copier après la connexion

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que le serveur Apache? À quoi sert le serveur Apache? Qu'est-ce que le serveur Apache? À quoi sert le serveur Apache? Apr 13, 2025 am 11:57 AM

Apache Server est un puissant logiciel de serveur Web qui agit comme un pont entre les navigateurs et les serveurs de sites Web. 1. Il gère les demandes HTTP et renvoie le contenu de la page Web en fonction des demandes; 2. La conception modulaire permet des fonctions étendues, telles que la prise en charge du chiffrement SSL et des pages Web dynamiques; 3. Les fichiers de configuration (tels que les configurations d'hôte virtuels) doivent être soigneusement définis pour éviter les vulnérabilités de sécurité et optimiser les paramètres de performance, tels que le nombre de threads et le temps de délai d'expiration, afin de créer des applications Web haute performance et sécurisées.

Conseils pour utiliser le système de fichiers HDFS sur CentOS Conseils pour utiliser le système de fichiers HDFS sur CentOS Apr 14, 2025 pm 07:30 PM

Le guide d'installation, de configuration et d'optimisation pour le système de fichiers HDFS dans le cadre du système CentOS Cet article vous guidera comment installer, configurer et optimiser le système de fichiers distribué Hadoop (HDFS) sur le système CentOS. Installation HDFS et configuration Installation de l'environnement Java: Assurez-vous d'abord que l'environnement Java approprié est installé. Edit / etc / Profile Fichier, ajoutez les suivants et remplacez /usr/lib/java-1.8.0/jdk1.8.0_144 par votre chemin d'installation Java réel: exportjava_home = / usr / lib / java-1.8.0 / jdk1.8.0_144exportpath = $ J

Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Résoudre les problèmes de mise en cache dans Craft CMS: Utilisation du plug-in Wiejeben / Craft-Laravel-MIX Apr 18, 2025 am 09:24 AM

Lorsque vous développez des sites Web à l'aide de CRAFTCMS, vous rencontrez souvent des problèmes de mise en cache de fichiers de ressources, en particulier lorsque vous mettez fréquemment à mettre à jour les fichiers CSS et JavaScript, les anciennes versions des fichiers peuvent toujours être mises en cache par le navigateur, ce qui fait que les utilisateurs ne voient pas les derniers changements de temps. Ce problème affecte non seulement l'expérience utilisateur, mais augmente également la difficulté du développement et du débogage. Récemment, j'ai rencontré des problèmes similaires dans mon projet, et après une exploration, j'ai trouvé le plugin wiejeben / artist-laravel-mix, qui a parfaitement résolu mon problème de mise en cache.

Outils de surveillance des performances et de dépannage de Nginx Outils de surveillance des performances et de dépannage de Nginx Apr 13, 2025 pm 10:00 PM

La surveillance et le dépannage des performances de NGINX sont principalement effectués via les étapes suivantes: 1. Utilisez Nginx-V pour afficher les informations de version et activez le module Stub_status pour surveiller le nombre de connexions actives, de demandes et de taux de succès du cache; 2. Utilisez la commande TOP pour surveiller l'occupation des ressources système, les E / S du disque IOSTAT et VMSTAT respectivement respectivement; 3. Utilisez TCPDUmp pour capturer des paquets pour analyser le trafic réseau et résoudre les problèmes de connexion réseau; 4. Configurez correctement le nombre de processus de travail pour éviter les capacités de traitement simultanées insuffisantes ou les frais de commutation de contexte de processus excessifs; 5. Configurer correctement le cache Nginx pour éviter les paramètres de taille de cache incorrects; 6. En analysant les journaux Nginx, comme l'utilisation de commandes awk et grep ou de wapitis

Comment configurer le serveur HTTPS dans Debian OpenSSL Comment configurer le serveur HTTPS dans Debian OpenSSL Apr 13, 2025 am 11:03 AM

La configuration d'un serveur HTTPS sur un système Debian implique plusieurs étapes, notamment l'installation du logiciel nécessaire, la génération d'un certificat SSL et la configuration d'un serveur Web (tel qu'Apache ou Nginx) pour utiliser un certificat SSL. Voici un guide de base, en supposant que vous utilisez un serveur Apacheweb. 1. Installez d'abord le logiciel nécessaire, assurez-vous que votre système est à jour et installez Apache et OpenSSL: SudoaptupDaSuDoaptupgradeSudoaptinsta

Comment surveiller le statut HDFS sur CentOS Comment surveiller le statut HDFS sur CentOS Apr 14, 2025 pm 07:33 PM

Il existe de nombreuses façons de surveiller l'état des HDF (système de fichiers distribué Hadoop) sur les systèmes CentOS. Cet article présentera plusieurs méthodes couramment utilisées pour vous aider à choisir la solution la plus appropriée. 1. Utilisez le propre webui de Hadoop, la propre interface Web de Hadoop pour fournir une fonction de surveillance de l'état du cluster. Étapes: Assurez-vous que le cluster Hadoop est opérationnel. Accédez au webui: entrez http: //: 50070 (hadoop2.x) ou http: //: 9870 (hadoop3.x) dans votre navigateur. Le nom d'utilisateur et le mot de passe par défaut sont généralement des HDF / HDF. 2. La surveillance des outils de ligne de commande Hadoop fournit une série d'outils de ligne de commande pour faciliter la surveillance

Guide d'installation et de configuration rapide du serveur Nginx Guide d'installation et de configuration rapide du serveur Nginx Apr 13, 2025 pm 10:18 PM

Cet article présente les méthodes de construction et de configuration de Nginx. 1. Installez Nginx: utilisez SudoyuminInstallNginx sur CentOS, utilisez Sudoapt-GetInstallNginx sur Ubuntu et commencez avec Sudosystemctlstartnginx après l'installation. 2. Configuration de base: modifiez le fichier /etc/nginx/nginx.conf, modifiez principalement les instructions Listen (port) et root (Site root répertoire) dans le bloc de serveur, et après modification, utilisez SudosystemctlRestartNginx pour redémarrer et prendre effet. 3. Configuration de l'hôte virtuel: dans nginx.co

Comment afficher l'état du thread dans le journal Tomcat Comment afficher l'état du thread dans le journal Tomcat Apr 13, 2025 am 08:36 AM

Pour afficher l'état du thread dans le journal Tomcat, vous pouvez utiliser les méthodes suivantes: Interface TomcatManagerWeb: Entrez l'adresse de gestion de Tomcat (généralement http: // localhost: 8080 / gestion Pool de fil de Tomcat. Sélectionner dans JConsole

See all articles