vue2+elementui上传照片(el-upload 超简单)

简介: 【6月更文挑战第4天】element上传附件(el-upload 超详细)这个功能其实比较常见的功能,后台管理系统基本上都有,这就离不开element的el-upload展示:

element上传附件(el-upload 超详细)

这个功能其实比较常见的功能,后台管理系统基本上都有,这就离不开element的el-upload

展示:

代码展示

html代码

<el-upload class="upload-demo" :on-preview="handlePreview" :on-remove="handleRemove" action=""
                        :before-remove="beforeRemove" multiple :limit="1" :on-exceed="handleExceed" :file-list="fileList"
                        :http-request="httpRequest">
                        <el-button size="small" type="primary">点击上传</el-button>
                        <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
</el-upload>

data中

fileList: [{ name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100' }]

methods中

//实现图片上传功能
        httpRequest(item) {
            // var imgId = item.file.lastModified
            console.log(item.file.name);
            this.fileList[0].name = item.file.name
            var formData = new FormData()
            formData.append('file', item.file)
            // {
            //         // 设置请求头为 multipart/form-data
            //         headers: {
            //             'Content-Type': 'multipart/form-data'
            //         },
            //         // // 上传进度
            //         // onUploadProgress: progressEvent => {
            //         //     let percent = ((progressEvent.loaded / progressEvent.total) * 100) | 0
            //         //     //调用onProgress方法来显示进度条,需要传递个对象 percent为进度值
            //         //     item.onProgress({ percent: percent })
            //         // }
            //     }
            upload(formData)
                .then(res => {
                    this.fileList[0].name = item.file.name
                    console.log(res);
                })
                .catch(() => { })
        },
        handleRemove(file, fileList) {
            console.log(file, fileList);
        },
        handlePreview(file) {
            console.log(file);
        },
        handleExceed(files, fileList) {
            this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
        },
        beforeRemove(file, fileList) {
            return this.$confirm(`确定移除 ${file.name}?`);
        },

接口写法

// 上传图片
export function upload(data) {
  return request({
    url: '/upload',
    method: 'post',
    data,
    headers: {
      'Content-Type': 'multipart/form-data'
    },
  })
}

总结

这个功能确实是非常常见的,尤其在后台管理系统中,文件上传功能几乎是标配。而Element UI,作为一个基于 Vue 的高质量 UI 组件库,其 el-upload 组件提供了非常便捷的文件上传功能。

el-upload 组件允许开发者轻松地实现文件选择、上传、预览以及错误处理等功能。通过简单的配置和事件监听,开发者可以定制上传按钮的样式、上传进度显示、上传成功或失败后的回调函数等。此外,el-upload 还支持多种上传方式,如拖拽上传、多文件上传等,极大地丰富了用户的使用体验。

在后台管理系统中,文件上传功能通常与表单管理、用户管理等模块紧密结合。例如,管理员可能需要上传用户头像、更新系统配置文件、导入导出数据等。在这些场景中,el-upload 组件都能够发挥出其强大的作用。

除了基本的文件上传功能外,开发者还可以结合后端接口,实现更加复杂的文件处理逻辑,如文件校验、断点续传、文件加密等。这些高级功能可以进一步提升文件上传的效率和安全性,满足各种复杂的业务需求。

el-upload 组件作为 Element UI 中的一个重要组件,为开发者提供了便捷、高效的文件上传解决方案。无论是在后台管理系统中,还是在其他需要文件上传功能的场景中,它都能够发挥出其独特的优势,帮助开发者快速构建出稳定、可靠的文件上传功能。

您好,我是肥晨。

欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

目录
相关文章
|
前端开发 JavaScript 安全
【前端相关】elementui使用el-upload组件实现自定义上传
【前端相关】elementui使用el-upload组件实现自定义上传
2839 0
vxe-table表格校验失败后保持可以编辑状态
vxe-table表格校验失败后保持可以编辑状态
vxe-table表格校验失败后保持可以编辑状态
|
存储 前端开发 Java
Element el-upload 文件上传/图片上传/拖拽上传/附带参数/附带请求头部详解
文目录 1. 前言 2. 基本用法 2.1 前端部分 2.2 后端部分 2.3 获取后端返回信息 3. 外观功能介绍 3.1 拖拽上传 3.2 显示图片 3.3 设置文件列表样式 3.4 显示提示信息 4. 事件功能介绍 4.1 限制上传文件数量 4.2 限制上传文件类型和大小 4.3 移除文件处理 4.4 手动上传 5. 附带参数 6. 附带请求头部 7. 小结
7408 0
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
9796 1
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
存储 JavaScript 前端开发
Vue中实现图片上传,上传后的图片回显,存储图片到服务器 【使用对象存储OSS】
这篇文章介绍了在Vue中实现图片上传到阿里云OSS对象存储服务的完整流程,包括服务端签名直传的前提知识、后端设置、前端组件封装以及图片上传和回显的效果展示。
|
资源调度 JavaScript 数据处理
vue3 element组件上传图片
vue3 element组件上传图片
845 0
|
JavaScript
el-table 使用了 修改行使用了v-model双向绑定 如何记录修改前的数据
el-table 使用了 修改行使用了v-model双向绑定 如何记录修改前的数据
336 2
|
资源调度 JavaScript 前端开发
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
这篇文章介绍了在Vue 2项目中如何通过`v-viewer`插件实现图片的预览、切换、缩放、旋转等功能,并提供了插件的安装、配置和使用方法。
4020 0
Vue2项目使用v-viewer插件实现图片预览、切换、缩放、旋转...
|
Java 数据库连接 Apache
Java进阶-主流框架总结与详解
这些仅仅是 Java 众多框架中的一部分。每个框架都有其特定的用途和优势,了解并熟练运用这些框架,对于每一位 Java 开发者来说都至关重要。同时,选择合适框架的关键在于理解框架的设计哲学、核心功能及其在项目中的应用场景。随着技术的不断进步,这些框架也在不断更新和迭代以适应新的开发者需求。
502 1