el-upload组件说明汇总,实现上传、点击下载、删除功能等

本文汇总了el-upload组件的各种功能,包括如何限制上传文件的个数和格式大小,实现点击已上传文件下载,阻止查看时删除文件的操作,以及在查看编辑时如何显示后台保存的文件。
摘要由CSDN通过智能技术生成
<el-upload
	  class="upload-demo"
	  action="/admin/sys-file/upload"      //文件上传路径
	  :headers="headers"       //请求头配置信息
	  :file-list="fileList"         //上传的文件显示列表, 格式如: [{name: 'food.jpg', url: 'https://xxx.cdn.com/xxx.jpg'}]
	  :limit="5"          //设置最大允许上传个数
 	  :on-exceed="handleExceed"   //文件超出个数限制时的钩子
	   accept=".doc,.docx,.xls,.xlsx,.ppt,.pptx"    //接受上传的文件类型
	  :before-upload="beforeUpload"   //上传文件之前的钩子,判断文件大小和格式是否符合
      :before-remove="beforeRemove"   //删除文件之前的钩子,若返回 false 或者返回 Promise 且被 reject,则停止删除停止执行handleRemove事件
	  :on-remove="handleRemove"   //文件列表移除文件时的钩子
	  :on-preview="handlePreview"    //点击文件列表中已上传的文件时的钩子
	  :on-success="handleSuccess">
	  <el-button size="small" type="primary">上传文件</el-button>
	  <div slot="tip" class="
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在前端Vue项目中,使用`el-upload`组件可以实现图片上传功能。以下是一个简单的实现步骤: 1. 在Vue组件中引入`el-upload`组件: ``` <template> <el-upload class="upload-demo" action="/api/upload" :on-success="handleSuccess" :file-list="fileList" :limit="3" :multiple="true" :show-file-list="false" :auto-upload="false"> <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过3个文件</div> </el-upload> </template> ``` 在上述代码中,`action`属性指定了上传文件的后端接口地址,`:on-success`属性指定了上传成功后的回调函数,`:file-list`属性指定了上传文件列表,`:limit`属性指定了上传文件的数量限制,`:multiple`属性指定了是否支持多选,`:show-file-list`属性指定了是否显示已上传文件列表,`:auto-upload`属性指定了是否自动上传。 2. 实现上传文件的回调函数: ``` methods: { handleSuccess(res, file) { console.log(res); // 后端返回的上传结果 console.log(file); // 上传的文件对象 // 将上传成功的文件添加到文件列表中 this.fileList.push({ name: file.name, url: res.data.url }); } } ``` 在上述代码中,`handleSuccess`函数接收两个参数:`res`表示后端返回的上传结果,`file`表示上传的文件对象。在函数中,我们将上传成功的文件添加到文件列表中。 3. 后端接口实现: 在后端Flask应用中,可以使用`Flask-Uploads`等第三方库来实现文件上传功能。以下是一个简单的实现代码: ``` from flask import Flask, request, jsonify from flask_uploads import UploadSet, IMAGES, configure_uploads app = Flask(__name__) # 配置文件上传 app.config['UPLOADED_PHOTOS_DEST'] = 'uploads/images' photos = UploadSet('photos', IMAGES) configure_uploads(app, photos) @app.route('/api/upload', methods=['POST']) def upload(): file = request.files['file'] if file: filename = photos.save(file) url = photos.url(filename) return jsonify({'code': 0, 'msg': '上传成功', 'data': {'url': url}}) else: return jsonify({'code': -1, 'msg': '上传失败'}) ``` 在上述代码中,`UPLOADED_PHOTOS_DEST`配置项指定了文件上传后的保存路径,`photos`对象表示上传文件的集合,`upload`函数实现上传文件的功能。在函数中,我们首先获取上传的文件对象,然后使用`photos.save`将文件保存到指定路径,并使用`photos.url`获取文件的访问URL,最后返回上传结果。 以上就是使用`el-upload`组件实现图片上传功能的简单实现步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值