element 文件上传大小控制

1.页面代码

 <el-upload :show-file-list="false" class="upload-demo" :before-upload="beforeUpload"
                        :on-progress="onProgress" :on-success="onSuccess" :on-error="onError" action="/api/upload">
                        <el-button size="small" type="primary">点击上传</el-button>
                  </el-upload>

2. 在before-upload事件中判断文件大小,不符合返回false

  beforeUpload(file) {

                        let fileObj = {
                              name: file.name,
                              size: file.size,
                              status: "开始上传",
                              process: 0,
                              id: file.uid
                        }
                        if (file.size > 100 * 1024 * 1024) {
                              console.log('上传文件过大', file.size)
                              return false   //必须返回false
                        }
                        this.fileList.push(fileObj)

                  },

 

Element 中进行文件上传,可以使用 `el-upload` 组件。下面是一个简单的示例: ```html <template> <el-upload class="upload-demo" action="/your-upload-api" :on-success="handleSuccess" :before-upload="beforeUpload" :auto-upload="false"> <el-button slot="trigger" size="small" type="primary">选择文件</el-button> <div slot="tip" class="el-upload__tip">只能上传 jpg/png 文件,且不超过 500kb</div> </el-upload> </template> <script> export default { methods: { // 文件上传前的钩子函数,返回 false 可以阻止上传 beforeUpload(file) { const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' const isLt500K = file.size / 1024 < 500 if (!isJPG) { this.$message.error('只能上传 JPG/PNG 格式的图片') return false } if (!isLt500K) { this.$message.error('上传图片大小不能超过 500KB') return false } return true }, // 文件上传成功的回调函数 handleSuccess(response, file, fileList) { console.log(response) } } } </script> ``` 在这个示例中,我们使用了 `el-upload` 组件,并设置了一些属性: - `action`:上传文件的地址 - `on-success`:文件上传成功的回调函数 - `before-upload`:文件上传前的钩子函数 - `auto-upload`:是否自动上传文件,我们这里设置为 `false`,也就是说需要手动点击上传按钮才会上传文件 同时,我们还使用了插槽来自定义上传按钮和提示文本。 需要注意的是,上传文件的地址需要根据实际情况进行修改,同时也需要在后端进行相应的处理,接收并保存上传的文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值