【vue+el-upload】当action=“#“,代表不使用默认上传,使用自定义上传,http-request获取文件流
在Vue中使用el-upload
组件时,如果你想要自定义上传行为,可以使用http-request
属性来提供一个自定义的上传函数。这里是一个简单的例子:
<template>
<el-upload
:http-request="customUpload"
action="#">
<el-button slot="trigger" size="small" type="primary">选择文件</el-button>
</el-upload>
</template>
<script>
export default {
methods: {
customUpload(request) {
// 使用FormData来构建上传数据
const formData = new FormData();
formData.append('file', request.file); // 'file'是后端接受上传文件的字段名
// 这里可以替换为你的上传API地址
const url = 'your-upload-api-url';
// 使用axios或者其他HTTP库发送POST请求
// 这里以axios为例
axios.post(url, formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then(response => {
// 处理响应
console.log(response);
})
.catch(error => {
// 处理错误
console.error(error);
});
}
}
};
</script>
在这个例子中,我们定义了一个customUpload
方法,这个方法将作为el-upload
的http-request
属性的值。在这个方法中,我们使用FormData
来构建上传的数据,然后使用Axios(或其他HTTP库)发送POST请求到你的上传API。记得替换your-upload-api-url
为你的实际上传API地址。
这样配置后,当你选择文件并点击上传时,customUpload
方法会被调用,文件将通过自定义的方式上传到你指定的服务器。
评论已关闭