vue 文件上传 setup
时间: 2025-01-30 14:14:31 浏览: 34
### 实现文件上传功能
在 Vue 3 中利用 `<script setup>` 可以更加简洁地处理文件上传逻辑。下面是一个简单的例子来展示如何创建一个支持文件选择并能触发上传行为的组件。
#### 组件模板部分
```html
<template>
<div class="upload-section">
<!-- 提供用户交互界面 -->
<input type="file" @change="handleFileChange"/>
<button @click="submitFile">Upload</button>
<!-- 显示反馈信息 -->
<p v-if="message">{{ message }}</p>
</div>
</template>
```
#### Script 部分使用 `setup` 语法糖
```javascript
<script setup>
import { ref } from 'vue';
// 导入用于发送请求的相关库,这里假设使用的是axios
import axios from 'axios';
const file = ref(null); // 存储选中的文件
const message = ref(''); // 用户提示消息
function handleFileChange(event) {
// 更新当前选定的文件
file.value = event.target.files[0];
}
async function submitFile() {
if (!file.value) {
message.value = "请选择要上传的文件";
return;
}
try {
let formData = new FormData();
formData.append('file', file.value);
await axios.post('/api/upload', formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
});
message.value = "文件上传成功!";
} catch (error) {
console.error(error);
message.value = "文件上传失败,请重试.";
}
}
</script>
```
此代码片段展示了如何在一个基于 Vue 3 和其新特性 `<script setup>` 的环境中构建基本的文件上传机制[^1]。注意这里的 `/api/upload` 应替换为实际的服务端接口地址,并且可能还需要根据实际情况调整 HTTP 请求配置项以及错误处理逻辑。
阅读全文
相关推荐


















