FormData+Ajax实现上传进度监控
FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利。接下来通过本文给大家分享FormData+Ajax实现上传进度监控,需要的朋友一起看看吧
什么是FormData?
FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对。它可以更灵活方便的发送表单数据,因为可以独立于表单使用。如果你把表单的编码类型设置为multipart/form-data ,则通过FormData传输的数据格式和表单通过submit() 方法传输的数据格式相同;
如何创建一个FormData对象
你可以自己创建一个FormData对象,然后通过调用它的append()方法添加字段,就像这样:
//实例化一个formData对象 var formData = new FormData(); formData.append("username", "Groucho"); formData.append("userid", 123456); // 数字 123456 会被立即转换成字符串 "123456" // HTML上的 文件类型input[type=file]的文件框,由用户选择 formData.append("userfile", fileInputElement.files[0]); // JavaScript file-like 对象 var content = '<a id="a"><b id="b">hey!</b></a>'; // 新文件的正文... var blob = new Blob([content], { type: "text/xml"}); formData.append("webmasterfile", blob);
注意:字段 “userfile” 和 “webmasterfile” 都包含一个文件. 字段 “userid” 是数字类型,它将被FormData.append()方法转换成字符串类型(FormData 对象的字段类型可以是 Blob, File, 或者 string: 如果它的字段类型不是Blob也不是File,则会被转换成字符串类型。
使用jQuery的Ajax方法发送FormData数据
//记录当前时间 var time=new Date().getTime(); //记录当前进度 var percentage =null; //记录当前上传速度 var velocity=null; //记录已上传文件字节大小 var loaded=0; $.ajax({ url: 'Url', type: "POST", data: formData, contentType: false, // 必须 不设置内容类型 processData: false, // 必须 不处理数据 xhr: function xhr() { //获取原生的xhr对象 var xhr = $.ajaxSettings.xhr(); if (xhr.upload) { //添加 progress 事件监听 xhr.upload.addEventListener('progress', function (e) { var nowDate = new Date().getTime(); //每一秒刷新一次状态 if (nowDate - time >= 1000) { //已上传文件字节数/总字节数 percentage = parseInt(e.loaded / e.total * 100); //当前已传大小(字节数)-一秒前已传文件大小(字节数) velocity = (e.loaded - loaded) / 1024; if (percentage >= 99) { $(".hintText").html('服务端正在解析,请稍后'); } else { //修改上次记录时间及数据大小 time = nowDate; loaded = e.loaded; } } else { return; } }, false); } return xhr; }, success: function success(response) { //成功回调 }, error: function error(error) { //失败回调 } });
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
ajaxfileupload.js实现文件上传(附步骤代码)
ajaxfileupload.js实现文件上传(附步骤代码)
Atas ialah kandungan terperinci FormData+Ajax实现上传进度监控. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pemantauan di rumah biasanya disimpan selama satu hingga dua minggu. Pengenalan terperinci: 1. Lebih besar kapasiti penyimpanan, lebih lama video boleh disimpan 2. Lebih besar kapasiti cakera keras, lebih lama video boleh disimpan 3. Mengikut keperluan kawasan dan undang-undang yang berbeza; peraturan, bilangan video pengawasan Masa penyimpanan mungkin berbeza-beza; 4. Sesetengah sistem pengawasan lanjutan juga boleh mencetuskan rakaman berdasarkan pengesanan gerakan atau peristiwa tertentu, dengan itu menjimatkan ruang storan dan menyediakan rakaman yang lebih berguna.

Dalam era digital hari ini, mengetahui perubahan terkini pada tapak web anda adalah penting untuk pelbagai tujuan, seperti menjejak kemas kini pada tapak web pesaing anda, memantau ketersediaan produk atau sentiasa dimaklumkan tentang maklumat penting. Semakan tapak web anda secara manual untuk perubahan boleh memakan masa dan tidak cekap. Di sinilah automasi dimainkan. Dalam catatan blog ini, kami akan meneroka cara membuat skrip Python untuk memantau perubahan tapak web. Dengan memanfaatkan kuasa Python dan beberapa perpustakaan berguna, kami boleh mengautomasikan proses mendapatkan semula kandungan tapak web, membandingkannya dengan versi sebelumnya dan memberitahu kami tentang sebarang perubahan. Ini membolehkan kami kekal proaktif dan bertindak balas segera terhadap kemas kini atau pengubahsuaian pada tapak yang kami pantau. Menyediakan persekitaran Sebelum kita mula menulis skrip untuk memantau perubahan tapak web, kita perlu menyediakan P

Cara melaksanakan pengelogan dan pemantauan permintaan dalam FastAPI Pengenalan: FastAPI ialah rangka kerja web berprestasi tinggi berdasarkan Python3.7+ Ia menyediakan banyak fungsi dan ciri yang berkuasa, termasuk pengesahan model permintaan dan respons automatik, keselamatan dan pengoptimuman prestasi. Dalam pembangunan sebenar, kita sering perlu merekodkan log permintaan dalam aplikasi untuk analisis penyahpepijatan dan pemantauan. Artikel ini akan memperkenalkan cara melaksanakan pengelogan dan pemantauan permintaan dalam FastAPI dan menyediakan contoh kod yang sepadan. 1. Pemasangan

Jika kita tidak mempunyai telefon bimbit di tangan, hanya komputer, tetapi kita perlu mengambil gambar, kita boleh menggunakan kamera pengawasan terbina dalam komputer untuk mengambil gambar, jadi bagaimana untuk menghidupkan kamera pengawasan win10, sebenarnya, kami hanya perlu memuat turun aplikasi kamera. Kaedah khusus untuk membuka kamera pengawasan win10. Cara membuka foto dari kamera pengawasan win10: 1. Pertama, gunakan kekunci pintasan cakera Win+i untuk membuka tetapan. 2. Selepas dibuka, masukkan tetapan privasi peribadi. 3. Kemudian hidupkan sekatan akses di bawah kebenaran telefon kamera. 4. Setelah dibuka, anda hanya perlu membuka perisian aplikasi kamera. (Jika tidak, anda boleh pergi ke kedai Microsoft untuk memuat turun satu) 5. Selepas dibuka, jika komputer mempunyai kamera pengawasan terbina dalam atau kamera pengawasan luaran dipasang, anda boleh mengambil gambar. (Kerana orang ramai tidak memasang kamera

Pemantauan dan analisis log masa nyata di bawah Linux Dalam pengurusan sistem harian dan penyelesaian masalah, log ialah sumber data yang sangat penting. Melalui pemantauan masa nyata dan analisis log sistem, kami boleh mengesan situasi tidak normal dalam masa dan mengendalikannya dengan sewajarnya. Artikel ini akan memperkenalkan cara melaksanakan pemantauan dan analisis log masa nyata di bawah Linux, dan memberikan contoh kod yang sepadan. 1. Pemantauan log masa nyata Di bawah Linux, sistem log yang paling biasa digunakan ialah rsyslog. Dengan mengkonfigurasi rsyslog, kami boleh menggabungkan log aplikasi yang berbeza

Memantau ralat dalam Laravel adalah bahagian penting dalam meningkatkan kestabilan aplikasi. Semasa proses pembangunan, pelbagai ralat pasti akan dihadapi, dan cara untuk mengesan dan menyelesaikan ralat ini tepat pada masanya adalah salah satu kunci untuk memastikan operasi normal aplikasi. Laravel menyediakan pelbagai alatan dan fungsi untuk membantu pembangun memantau dan mengendalikan ralat Artikel ini akan memperkenalkan beberapa kaedah penting dan melampirkan contoh kod tertentu. 1. Gunakan pembalakan Pembalakan adalah salah satu cara penting untuk memantau ralat. Laravel mempunyai sistem pembalakan yang berkuasa terbina dalam, pembangun

Cadangan Pembangunan C#: Sistem Pembalakan dan Pemantauan Ringkasan: Dalam proses pembangunan perisian, sistem pembalakan dan pemantauan adalah alat penting. Artikel ini akan memperkenalkan peranan dan cadangan pelaksanaan sistem pembalakan dan pemantauan dalam pembangunan C#. Pengenalan: Pembalakan dan pemantauan adalah alat penting dalam projek pembangunan perisian berskala besar. Mereka boleh membantu kami memahami status berjalan program dalam masa nyata dan menemui serta menyelesaikan masalah dengan cepat. Artikel ini akan membincangkan cara menggunakan sistem pengelogan dan pemantauan dalam pembangunan C# untuk meningkatkan kualiti perisian dan kecekapan pembangunan. Peranan sistem pembalakan

Gambaran keseluruhan cara menggunakan Docker untuk pemantauan kontena dan analisis prestasi: Docker ialah platform kontena popular yang membenarkan aplikasi dijalankan dalam bekas bebas dengan mengasingkan aplikasi dan pakej perisian bergantungnya. Walau bagaimanapun, apabila bilangan kontena bertambah, pemantauan kontena dan analisis prestasi menjadi semakin penting. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Docker untuk pemantauan kontena dan analisis prestasi, dan menyediakan beberapa contoh kod khusus. Gunakan alat pemantauan kontena Docker sendiri yang disediakan oleh Docker
