


Jquery et BigFileUpload implémentent le téléchargement de fichiers volumineux et l'affichage de la barre de progression
Méthode d'implémentation : utilisez le composant bigfileupload de Gaoshanlaike. Utilisez la méthode de Gaoshanlaike pour afficher une fenêtre modale, puis continuez à actualiser pour obtenir la progression. J'ai toujours l'impression que l'expérience n'est pas bonne, alors j'ai pensé à utiliser jquery pour y parvenir. affichage de la progression sans actualisation. Parce qu'après la soumission de la page, il ne peut pas être autorisé à actualiser la page, mais les informations de progression renvoyées par progress.aspx doivent être obtenues en continu via ajax, donc la soumission ajaxform de jquery.form est utilisée. Une fois l'ajaxform soumis, si des événements post-soumission sont exécutés, tels que l'insertion d'enregistrements dans la base de données, il est toujours en cours de débogage.
1. Utilisez la barre de progression, le formulaire, MultFile et les composants associés de jquery
<script src="../../common/js/jquery-1.2.6.pack.js" type="text/javascript"></script> <script src="../../common/jqControl/packed/ui.core.packed.js" type="text/javascript"></script> <!--FORM--> <script src="../../common/jqControl/ajax/jquery.form.js" type="text/javascript"></script> <!--上传文件--> <script src="../../common/jqControl/upLoad/jquery.MultiFile.pack.js" type="text/javascript"></script> <!--进度条--> <script src="../../common/jqControl/packed/ui.progressbar.packed.js" type="text/javascript"></script> <!--对话框--> <!--我的JS --> <link href="../../common/Css/jquery-ui-themeroller.css" rel="stylesheet" type="text/css" /> <script src="../gadget/JS/uploadfile.js" type="text/javascript">
2. Le code uploadfile.js est le suivant :
$(function() { var info = '<div style="display:none" id="uploadinfo">'; info += '<p>正在上传: <span id="uploadfilename"></span></p>'; info += '<p>上传速度: <span id="uploadrate"></span> </p>'; info += '<p>状态: <span id="uploadtitle"></span></p>'; info += '<p>预计剩余时间: <span id="uploadlefttime"></span></p>'; info += '<p>上传文件大小: <span id="uploadtotal"></span></p>'; info += '<p>已上传大小: <span id="uploadcurrent"></span></p>'; info += '<p><div id="uploadprogressbar"></div></p>'; info += '</div><div id="dialogsucc" > '; $("body").append(info); //进度条 $("#uploadprogressbar").progressbar(); //上传 $('#fileupload').MultiFile(); $('#btshow').click(function() { alert($("body").html()); }); //提交 $('#btnsubmit').click(function() { $("#uploadForm").ajaxSubmit( { dataType: 'text', beforeSubmit: function(a,f,o) { startProgress(); }, async:false, success: function(data) { //$("#dialogsucc").text(data); //stopProgress(); if(data.succ==1) { /* $("#dialogsucc").show(); $("#dialogsucc").dialog( { modal: true, overlay: { opacity: 0.5, background: "black" } }); */ } }, error:function(err) { alert(err); } }); }); }); function getProgress(){ $.ajax({ type: "post", dataType:"json", url: "uploadProgress.aspx", data: "UploadID=" + $("#UploadID").val(), success: function(data){ $("#uploadprogressbar").progressbar("progress", data.percent); $("#uploadfilename").html(data.filename); $("#uploadrate").html(data.rate); $("#uploadtitle").html(data.info); $("#uploadlefttime").html(data.lefttime); $("#uploadtotal").html(data.total); $("#uploadcurrent").html(data.current); if(data.succ==-1){ alert(data.errmsg); } if (data.succ==0){ setTimeout("getProgress()", 1000); } if (data.succ==1){ return; } }, error:function(msg) { alert(msg); } }); } function startProgress(){ $("#uploadinfo").show(); setTimeout("getProgress()", 500); } function stopProgress() { $("#uploadinfo").hide(); }
3 : Le code progress.aspx est le suivant :
protected void Page_Load(object sender, EventArgs e) { try { string s = "{"; UploadContext upload = UploadContextFactory.GetUploadContext(Request["UploadID"]); //初始化 if (upload.Status == uploadStatus.Initializing) { s += responeJSON(upload, "0", ""); } if (upload.Status == uploadStatus.Uploading) { s += responeJSON(upload, "0", ""); } if (upload.Status == uploadStatus.Complete) { s += responeJSON(upload, "1", ""); } if (upload.Status == uploadStatus.HasError) { s += responeJSON(upload, "-1", ""); } s += "}"; Response.Write(s); } catch (Exception err) { //throw err; Response.Write("{'info':'" + err.Message.Replace("'", "") + "','succ':-1}"); } } private string responeJSON(UploadContext upload, string succ,string errmsg) { string s = ""; s += "'info':'" + upload.FormatStatus + "'" ; s += ",'percent':'" + Convert.ToInt32((upload.Readedlength * 100.0 / upload.TotalLength)).ToString() + "'"; s += ",'current':'" + (upload.Readedlength/1024).ToString() + "KB'"; s += ",'total':'" + (upload.TotalLength/1024).ToString() + "KB'"; s += ",'rate':'" + upload.FormatRatio + "'"; s += ",'filename':'" + upload.CurrentFile + "'"; s += ",'cancel_upload':" + 0 ; s += ",'lefttime':'" + upload.LeftTime + "'"; s += ",'succ':" + succ; s += ",'errmsg':'" + errmsg +"'"; return s; }
4. Une fois l'ajaxForm exécuté, il peut s'exécuter normalement. Comment puis-je effectuer d'autres opérations après avoir téléchargé le fichier ? Je publierai après l'avoir recherché
Ce qui précède est Jquery et BigFileUpload introduits par l'éditeur pour implémenter le téléchargement de fichiers volumineux et l'affichage de la barre de progression. J'espère que cela vous sera utile. Si vous avez des questions, veuillez partir. envoyez-moi un message et l'éditeur vous répondra à temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !
Pour plus d'articles sur Jquery et BigFileUpload implémentant le téléchargement de fichiers volumineux et l'affichage de la barre de progression, veuillez faire attention au site Web PHP chinois !

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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