vue-resource+element upload上传(遇到formData老是变为object格式)

 

 

文件上传这种业务需求很常见,可是最近用了element,仔细看了文档,按照demo写了上传,与后台传参调取接口时,控制台老是显示未获取到文件,想了又想,发现一开始思路就跑遍了。。。服务器

写此博记录下遇到的问题。app

传参给后台须要formdata格式的,这种格式也很常见,以下:post

// FormData 对象 spa

var form = new FormData(); 3d

// 文件对象 orm

form.append("file", fileObj);对象

// 其余参数 blog

form.append("xxx", xxx);token

可是有一点,我发现我怎么传,控制台始终都是这样,以下截图:(估计大家都比我聪明。。此处想打本身一下!!接口

 

 

 

而后找了半天没发现为何,后来发现element里的上传是组件里已经定义好的,不用再去写post请求,formData格式也不用定义。。。

 

 官网文档写得很详细,action就是post请求的路径,字符串格式,headers是头部,data为其余附加参数;

如下是咱们的业务需求:

 

咱们业务逻辑是这样,弹框内部有个上传按钮,点击上传按钮时去调取本地文件,等到点击弹框的肯定按钮以后才会上传到服务器,而后代码以下:

data是这样定义的,须要本身设置X-token:

 

这是点击弹框的肯定按钮执行的方法,经过submit()方法,很简单:

这个是判断文件格式是否符合规范,不少人在before-upload这个方法里判断这些,可是你会发现有个问题,就是你执行此方法时不管上传格式是否正确们都会触发before-remove或者是on-remove这两个方法,很奇怪,多是element组件的bug,因此须要加个判断,如下图中的isDel就是这层判断:

如下是判断删除的方法:

 

 还有就是上传成功后的逻辑处理:

 

记录下此次的坑,但愿之后长点心;

相关文章
相关标签/搜索