Maison  >  Article  >  interface Web  >  À propos de l'opération simple de téléchargement de fichiers en js (code ci-joint, réponse détaillée)

À propos de l'opération simple de téléchargement de fichiers en js (code ci-joint, réponse détaillée)

亚连
亚连original
2018-05-18 10:25:302105parcourir

Ce qui suit est une opération simple pour télécharger des fichiers en js que j'ai compilé pour vous. Les étudiants intéressés peuvent y jeter un œil.

Téléchargement général
Par exemple, l'adresse pour télécharger le fichier est : http://127.0.0.1/test.rar

//该方法在火狐上没有效果的,在IE浏览器上是可以的window.open("htpp://127.0.0.1/test.rar");
//该方法火狐有些版本是不支持的window.location.href="htpp://127.0.0.1/test.rar";
//为了解决火狐有些版本不支持,可以改成这种方式window.location="htpp://127.0.0.1/test.rar"; 
//该方法IE和火狐都可以,
//url表示要下载的文件路径,如:
htpp://127.0.0.1/test.rar
function downloadFile(url) {   
   try{ 
        var elemIF = document.createElement("iframe");   
        elemIF.src = url;   
        elemIF.style.display = "none";   
        document.body.appendChild(elemIF);   
    }catch(e){ 
        zzrw.alert("下载异常!");
    }     
}
//表单方式直接下载文件
//url表示要下载的文件路径,如:
htpp://127.0.0.1/test.rar
function downloadFile(url)
{
    var form=$("<form>");//定义form表单,通过表单发送请求
    form.attr("style","display:none");//设置为不显示
    form.attr("target","");
    form.attr("method","get");//设置请求类型  
    form.attr("action",url);//设置请求路径
    $("body").append(form);//添加表单到页面(body)中
    form.submit();//表单提交
}1234567891011121314151617181920212223242526272829303132333435363738394041424344

Ne pas passer à la page demander le téléchargement en arrière-plan, l'arrière-plan renvoie un flux de données, qui peut être implémenté via un formulaire
comme suit :

Les types de retour de la fonction ajax de JQuery sont uniquement xml, text, json, html et d'autres types, et il n'y a pas de type "stream", donc nous Pour implémenter le téléchargement ajax, vous ne pouvez pas utiliser la fonction ajax correspondante pour télécharger des fichiers. Mais vous pouvez utiliser js pour générer un formulaire, utiliser ce formulaire pour soumettre des paramètres et renvoyer des données de type « stream ». Pendant le processus de mise en œuvre, la page n'a pas été actualisée.

obtenir une demande de téléchargement

//url表示请求路径,进入后台处理,后台返回一个文件流//例如:url为htpp://127.0.0.1/test
function downloadFile(url){
    //定义一个form表单,通过form表单来发送请求
    var form=$("<form>");    //设置表单状态为不显示
    form.attr("style","display:none");    //method属性设置请求类型为get
    form.attr("method","get");    //action属性设置请求路径,(如有需要,可直接在路径后面跟参数)
    //例如:htpp://127.0.0.1/test?id=123
    form.attr("action",url);    //将表单放置在页面(body)中
    $("body").append(form);    //表单提交
    form.submit();
}12345678910111213141516171819202122232425262728

poster une demande de téléchargement

//url表示请求路径,进入后台处理,后台返回一个文件流
//例如:url为htpp://127.0.0.1/test
function downloadFile(url){
//定义一个form表单,通过form表单来发送请求
var form=$("<form>");
//设置表单状态为不显示
form.attr("style","display:none");
//method属性设置请求类型为post
form.attr("method","post");
//action属性设置请求路径,
//请求类型是post时,路径后面跟参数的方式不可用
//可以通过表单中的input来传递参数
form.attr("action",url);
$("body").append(form);//将表单放置在web中
//在表单中添加input标签来传递参数
//如有多个参数可添加多个input标签
var input1=$("<input>");
input1.attr("type","hidden");//设置为隐藏域
input1.attr("name","id");//设置参数名称
input1.attr("value","123");//设置参数值
form.append(input1);//添加到表单中
form.submit();//表单提交
}

Ce qui précède est une opération simple pour télécharger des fichiers en js que j'ai compilé pour vous, je l'espère. sera utile à tout le monde à l'avenir. Utile.

Articles associés :

Problèmes d'ajout de ! devant la fonction en js, le code est joint

Expliquez JS en détail Comment interagir avec l'application (code ci-joint)

Expliquez en détail l'utilisation de Js apply() (avec code)

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:
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