一,通过表单提交的方式
该提交方式只是提交普通表单;对于file组所选中的文件内容是不上传的,因此需要设置:enctype属性
enctype="multipart/form-data"
如果想上传多文件,可添加multiple
二,通过Ajax异步提交的方式
获取文件内容:
//javascript
var file = document.getElementById('fileToUpload').files[0];
//jQuery:
var file = $("#img_input").prop("files")[0];
上传:
XMLHttpRequest Level 2添加了一个新的接口FormData。利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件。比起普通的Ajax,使用FormData的最大优点就是我们可以异步上传一个二进制文件。
// 创建
var form_data = new FormData();
// 获取文件
var file_data = $("#img_input").prop("files")[0];
// 把所以表单信息
form_data.append("id", "001");
form_data.append("name", "test");
form_data.append("img", file_data);
$.ajax({
type: "POST",
url: "....",
dataType : "json",
processData: false, // 注意:让jQuery不要处理数据
contentType: false, // 注意:让jQuery不要设置contentType
data: form_data
}).success(function(msg) {
console.log(msg);
}).fail(function(msg) {
console.log(msg);
});
标签:form,type,data,var,file,msg,input,上传
来源: https://blog.csdn.net/m0_48268301/article/details/115031714