vue写一个上传文件代码
时间: 2023-11-27 09:52:55 浏览: 76
vue中实现图片和文件上传的示例代码
这里是一个简单的 Vue.js 上传文件的代码示例:
```html
<template>
<div>
<input type="file" @change="handleFileUpload" />
<button @click="uploadFile">上传文件</button>
<p v-if="uploadResult">{{ uploadResult }}</p>
</div>
</template>
<script>
export default {
data() {
return {
file: null,
uploadResult: null,
};
},
methods: {
handleFileUpload(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);
this.uploadResult = response.data.message;
} catch (error) {
console.error(error);
this.uploadResult = '上传失败';
}
},
},
};
</script>
```
在上面的代码中,我们使用了 `input` 标签来让用户选择要上传的文件,然后在 `handleFileUpload` 方法中获取到了用户选择的文件,并将其存储在组件的 `file` 属性中。接着,我们通过 `FormData` 对象构造一个包含文件的表单数据,并使用 `axios` 库发送了一个 POST 请求来上传文件。
当文件上传成功后,我们将服务器返回的消息显示在页面上,否则显示一个错误提示信息。需要注意的是,上面的代码仅作为示例,实际的上传接口需要根据项目需要进行修改。
阅读全文