* HTML 部分
<form id="uploadForm" enctype="multipart/form-data">
<!-- 添加自己需要的元素 -->
<input type="text" name="name">
<input type="file" name="file" id="uploadfile">
</form>
* JS 部分
方式一:提交整个表单
var formData = new FormData($('#uploadForm')[0]);
$.ajax({
url: '/upload',
type: 'POST',
cache: false, // cache设置为false,上传文件不需要缓存
data: formData, // 将form表单实例化为FormData类型
processData: false, // 设置为false。因为data值是FormData对象,不需要对数据做处理.
contentType: false // contentType设置为false。因为是由<form>表单构造的FormData对象,且已经声明了属性enctype="multipart/form-data",所以这里设置为false。
})
方式二:提交单个文件
var formData = new FormData();
formData.append('file', $('#uploadfile')[0].files[0]); // 将文件对象添加到formData对象
$.ajax({
url: '/upload',
type: 'POST',
cache: false,
data: formData,
processData: false,
contentType: false
})
注意:<form>标签添加 enctype="multipart/form-data" 属性