实现思路:
1.通过点击事件打开文件夹,选取需要上传的图片
2.拿到图片数据,将其添加到FromData实例对象中
3.将图片数据上传至服务器

定义变量

fileList: []

vue页面


  <el-form-item label="图片" >
            <el-upload class="upload-demo" action="/api/marketing/picture"
                :on-preview="handlePreview" :on-remove="handleRemove" :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>
        </el-form-item>

 定义方法

 resetForm(formName) {
            this.$refs[formName].resetFields();
        },
        handleRemove(file, fileList) {
            console.log(file,fileList);
        },
        handlePreview(file) {
            console.log(file);
        },
        handleExceed(files, fileList) {
            this.$message.warning(`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`);
        },
        beforeRemove(file, fileList) {
            return this.$confirm(`确定移除 ${file.name}?`);
        }

 连接后端API接口,获取路径

//接收图片路径
$cover = $request->file();
$cover = $cover['file'];

已经获取到路径了,根据自己的需求进行上传就可以了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐