[ant-design-vue]-upload组件上传405问题

[ant-design-vue]-vue2.x upload组件上传405问题

环境

使用的是包的版本是:

"vue": "^2.6.11"
"ant-design-vue": "^1.6.5"

问题描述

在使用ant-design-vue的组件upload的时候,出现了405的报错

问题解析

在该组件中使用了post方式上传文件,使用了upload组件

注意,文件上传不可以使用其它方式,只能使用POST

//UI:
<a-upload accept=".xls,.xlsx" :showUploadList="false" :before-upload="beforeUpload">
    <a-input type="text" placeholder="Please select upload file" style="width:370px;" v-model="uploadData.file.name" read-only>
        <a-icon slot="addonAfter" type="upload"/>
    </a-input>
</a-upload>

<script>
//逻辑
let formFile = new FormData();
let uploadFile=this.uploadData.file;
formFile.append('file', uploadFile);//文件

axios({
    method: 'post',
    url: '/upload',
    async: false,
    timeout: 60000,
    headers:{
        "Content-Type":"multipart/form-data", //文件上传时的格式
    },
    cache: false,//上传文件无需缓存
       processData: false,//用于对data参数进行序列化处理 这里必须false
    contentType: false, //必须
       data: formFile
}).then(res => {
    /*上传成功*/
}).catch((err) => {
  /*上传失败*/
})
</script>

http-405

对于405是不允许访问,网上的大部分情况是说该错误伴随着POST的方法出现,一般是通过post方法获取静态文件的时候,会出现该错误,修改为get方法就可以了
但是该报错不是这种情况

问题分析

  • 首先,该方法是用于上传文件不能修改为get方式,只能使用post方法
  • 其次,是报错发生于选择文件的时候,此时不应发出请求,应该是点击upload时上传文件

在这里插入图片描述

说明组件是在选择文件后就触发了上传操作,而需求是手动触发,因此查看upload组件的api,可以通过beforeUpload钩子函数始终返回false,禁止自动上传操作

修改后发现问题解决!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三知之灵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值