前后端分离的项目中vue3如何实现上传文件到后端
时间: 2023-12-09 14:00:02 浏览: 85
服务器?
可以使用 Vue.js 提供的 axios 库来实现上传文件到后端服务器。首先,需要在 Vue 组件中引入 axios 库,并设置发送请求的基本参数,例如设置请求头、设置 withCredentials、设置超时时间等。
然后,在 Vue 组件中,可以使用 HTML5 的 FormData 对象来创建一个包含上传文件的表单数据对象,通过 axios 发送 POST 请求,将表单数据对象作为请求体发送到后端服务器。
下面是一个简单的 Vue 组件的示例代码:
```
<template>
<div>
<input type="file" ref="fileInput" @change="onFileChange">
<button @click="uploadFile">上传文件</button>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
file: null,
};
},
methods: {
onFileChange(event) {
this.file = event.target.files[0];
},
async uploadFile() {
const formData = new FormData();
formData.append('file', this.file);
try {
const response = await axios.post('/api/upload', formData);
console.log(response.data);
alert('上传成功');
} catch (error) {
console.error(error);
alert('上传失败');
}
},
},
};
</script>
```
阅读全文