现在各种框架,功能让人眼花缭乱的,
今天聊聊抛开框架的附件上传
需求:1、实现附件上传
2、兼容ie10 (ie10以下兼容不支持formData)
3、附件详细内容要可视化
工具:jquery
上代码:
<!-- 上传附件 -->
<input type="file" class="fj_box" ref="inputer" name='file' @change="addFileFn()">
附件的可视化就很简单了,拿到附件后,直接循环添加就好
let formData = new FormData();
self.fileAllData.forEach(ele => formData.append("attachments", ele))
但是,如果想看每一次添加的附件信息时,直接打印 formData 是空的,应该:
console.log(this.fileData.get("添加的属性名"))
// 如果是传了多个附件 要查看
console.log(this.fileData.getAll("添加的属性名"))
最后就是上传方法了
$.ajax({
url: 'xxx/xxx/xxx', // 接口地址
type: 'post',
data:formData,
dataType: 'JSON',
cache: false, // 不缓存
headers:{
'Authorization': "Bearer ", // header 按后台需求添加就行
},
processData: false, // jQuery不要去处理发送的数据
contentType: false, // jQuery不要去设置Content-Type请求头
success:function (data) {
// 上传成功的回调函数
// 执行的操作。。。
} else {//失败
// 失败的操作。。。
}
},
});
剩下的就是各种调试了