jQuery实现文件上传主要有以下三种方式,涵盖不同场景和需求:
一、使用FormData与jQuery的$.ajax()方法(推荐)
这是最现代且兼容性强的方式,适用于支持HTML5的浏览器。
-
HTML表单设置
需在表单中设置
enctype="multipart/form-data"
,并确保jQuery代码中processData: false
和contentType: false
。 -
JavaScript实现
$(document).ready(function() { $('#myform').on('submit', function(e) { e.preventDefault(); var formData = new FormData(this); $.ajax({ url: 'upload.php', type: 'POST', data: formData, cache: false, processData: false, contentType: false, success: function(response) { console.log(response); } }); }); });
二、拖拽文件上传(需HTML5支持)
通过HTML5拖拽API结合jQuery实现,提供更友好的用户体验。
- HTML结构
<div id="drop-area" ondrop="handleDrop(event)" ondragover="handleDragOver(event)"> 拖拽文件到这里 </div>