VUE 使用 elementUI 实现文件上传
废话少说直接上代码
1、文件上传接口只要求file二进制文件,无需其他参数
| |
| <el-upload |
| class="upload-demo" |
| action="https://jsonplaceholder.typicode.com/posts/" |
| :on-preview="handlePreview" |
| :on-remove="handleRemove" |
| :on-change="onChange" |
| :before-remove="beforeRemove" |
| multiple |
| :limit="3" |
| :on-exceed="handleExceed" |
| :file-list="fileList"> |
| <el-button size="small" type="primary">点击上传</el-button> |
| <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> |
| </el-upload> |
复制
如果你上传文件不需要传参的话,可以直接将上传路径写到action中
action=“https://jsonplaceholder.typicode.com/posts/”
2、文件上传需要file文件和其他参数
| 1、element 提供了 data 属性 【上传时附带的额外参数】 |
复制
今天我们用另一个比较通用的方法
| 1、可以将 action=“#” 改成这样,取消默认上传路径。 |
| 2、通过 on-change 事件,监听添加文件事件。 |
| 3、获取 file 二进制文件。 |
复制
有些事件和参数可以根据需求添加
| <el-upload |
| class="upload-demo" |
| action="#" |
| :on-preview="handlePreview" |
| :on-remove="handleRemove" |
| :on-change="onChange" > |
| </el-upload> |
复制
| |
| onChange(file) { |
| |
| this.formdata = new FormData() |
| this.formdata.append('file', file.raw) |
| this.formdata.append('name', this.name) |
| }, |
| |
复制
结束