ajax 上传表单文件

* 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" 属性 

猜你喜欢

转载自blog.csdn.net/qq_39726772/article/details/85761558