el-upload点击上传文件时发送一个请求

遇到的问题:

引用了el-upload组件,每次点击上传时,都会发自动一个请求,请求的地址是当前页面的url

原因:action的值设为空了,空字符会被当做当前页面url的相对路径

解决方案:

给组件添加这个就可以解决问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于element-ui的el-upload组件,你可以通过以下步骤来自定义上传文件的行为: 1. 首先,你需要在el-upload组件上添加一个自定义上传的方法,可以通过设置`before-upload`属性来实现。该属性接收一个函数,用于在文件上传之前执行自定义的逻辑。例如: ```html <el-upload action="/your-upload-url" :before-upload="customBeforeUpload" > <!-- 插入上传按钮或其他内容 --> </el-upload> ``` 2. 在Vue实例定义`customBeforeUpload`方法,该方法接收一个file参数,代表正在上传的文件。你可以在该方法编写自己的上传逻辑。例如: ```javascript methods: { customBeforeUpload(file) { // 在这里执行你的自定义上传逻辑 console.log('正在上传文件:', file.name); // 返回 false 可以阻止文件上传 // 返回 Promise 可以延迟文件上传,并在 Promise resolve 后继续上传 // 返回其他值则继续上传该文件 } } ``` 在`customBeforeUpload`方法,你可以根据需要执行一些操作,比如验证文件类型、大小等。你可以返回`false`来阻止文件的上传,返回`Promise`来延迟文件的上传并在异步操作完成后继续上传,或者返回其他值来继续上传文件。 3. 根据自定义逻辑的不同,你还可以在`customBeforeUpload`方法调用相应的API来执行上传操作。例如,你可以使用Axios库发送异步请求上传文件: ```javascript import axios from 'axios'; methods: { customBeforeUpload(file) { // 在这里执行你的自定义上传逻辑 console.log('正在上传文件:', file.name); // 使用axios发送POST请求上传文件 const formData = new FormData(); formData.append('file', file); axios.post('/your-upload-url', formData) .then(response => { console.log('文件上传成功:', response.data); // 执行其他操作... }) .catch(error => { console.error('文件上传失败:', error); // 执行其他操作... }); // 返回 false 可以阻止文件上传 // 返回 Promise 可以延迟文件上传,并在 Promise resolve 后继续上传 // 返回其他值则继续上传该文件 } } ``` 通过以上步骤,你可以自定义el-upload组件的文件上传行为,并在`customBeforeUpload`方法编写你所需的逻辑。请根据实际情况进行调整和拓展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值