input[type=file]文件获取及ajax上传
最近遇到一个问题,由于用的框架不同,根据需求需要两种方式上传文件,原有的框架解决不了,只能尝试通过原始方法。
上代码:
<input style="width:20px;height:10px;margin-left:20px;" type="file" id="uploadFile" accept="*.rar, *.zip, *.gif, *.jpeg, *.png, *.jpg, *.bmp "/>
其中accept为上传所接收文件类型。
juqery方法获取文件内容:
var formData = new FormData();
formData.append('file', $('#uploadFile')[0].files[0]); // 固定格式
上传1234.jpg,$(’#uploadFile’)[0].files[0]返回的值:
File
lastModified: 1546852042000
lastModifiedDate: Mon Jan 07 2019 17:07:22 GMT+0800 (中国标准时间)
proto: Object
name: “1234.jpg”
size: 89219
type: “image/jpeg”
webkitRelativePath: “”
proto: File
通过ajax请求,向后台传输数据:
$.ajax({
url: , //后台接收数据地址
//headers:{'Content-Type':'multipart/form-data'},//加上这个报错
data:formData,
type: "POST",
dataType: "json",
cache: false, //上传文件无需缓存
processData: false, //用于对data参数进行序列化处理 这里必须false
contentType: false,
success:function(res){
var result=res;
var code=result.code;
if (code=='0'){
alert("图片上传成功!");
}else{
alert("图片上传失败!");
}
},
failure: function (res) {
}
})