vue3+ts调用接口 实现文件上传
时间: 2023-11-24 14:06:11 浏览: 120
好的,关于这个问题,你可以先准备一个可以上传文件的表单。然后在Vue3中,你可以使用Axios发送POST请求来实现文件上传。在Axios的请求中,你需要设置`Content-Type`为`multipart/form-data`,并将文件作为FormData的值进行传递。以下是一个简单的示例代码:
```typescript
import { ref } from 'vue';
import axios from 'axios';
export default {
setup() {
const uploading = ref(false);
const fileInput = ref<HTMLInputElement | null>(null);
const uploadFile = async () => {
uploading.value = true;
const formData = new FormData();
const file = fileInput.value?.files?.[0];
formData.append('file', file);
try {
await axios.post('/api/upload', formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
});
} catch (error) {
console.error(error);
}
uploading.value = false;
};
return { uploading, fileInput, uploadFile };
},
};
```
注意:你需要将`/api/upload`替换为你的上传接口地址。另外,为了方便起见,示例代码中使用了Vue3的Composition API来编写。
阅读全文