vue.js - Vuetify 文件上传
问题描述
我有一个使用 Vuetifyv-file-input
组件的表单:
<v-file-input chips multiple label="File(s)" v-model="file.files"></v-file-input>
我的数据对象如下所示:
data: () => ({
file: {
files: null,
directory: 0,
}
})
当我console.log
表单数据files
对象返回一个空对象。如何获取文件数据以将其传递给我的 Laravel 后端?
解决方案
使用change
事件和FileReader
...
<v-file-input chips multiple @change="addFiles()"
label="File(s)" v-model="file.files"></v-file-input>
methods: {
addFiles(){
this.files.forEach((file, f) => {
this.readers[f] = new FileReader();
this.readers[f].onloadend = (e) => {
let fileData = this.readers[f].result
let imgRef = this.$refs.file[f]
imgRef.src = fileData
console.log(fileData)
// send to server here...
}
this.readers[f].readAsDataURL(this.files[f]);
})
},
},
推荐阅读
- flutter - Flutter ListView没有滚动到最后一个元素
- uwp - 如何获取与 UWP 进程关联的 UWP 包?
- css - localhost wordpress 加载 style.css 失败
- go - Golang 连接两片指针
- java - Android Studio“Gradle 同步失败”错误
- r - 如何以每个计数的倍数向上计数
- python - Python动态添加属性总是返回相同的结果
- javascript - 从 localStorage 加载 Javascript 图像
- javascript - 在反应的动态html标签中添加样式
- reactjs - 如何在 React SPA 中使用会话身份验证处理页面重新加载时的组件渲染?