文件路径 null,View Js,Laravel,S3
File path null, Vue Js, Laravel, S3
我尝试使用 Vuejs 和 Laravel 创建一个简单的文件上传。但是我的 'b2b_file' 变量似乎为空。在 Vue 组件中我有:
<b-form-file
v-model="b2b_file"
name="b2b_file"
multiple>
</b-form-file>
methods: {
this.b2b_file.map(element => {
this.productData.b2b_file.push(element)
})
}
console.log(this.productData.b2b_file) returns 休闲:
https://prnt.sc/1hox1c5
由于当我尝试 $request->file('b2b_file')->store()
时我的控制器中的路径为空,我收到消息:“调用成员函数 store() on null”,异常:“错误”
我做错了什么?
经过一番深入搜索后,我发现我遗漏了一些逻辑,这就是为什么我在控制器中得到 null 的原因。事实证明,在调用控制器之前,在 Vue 组件中我遗漏了这个:
const formData = new FormData()
const file = this.productData.b2b_file
formData.append('b2b_file', file)
axios.post('/api/auth/upload_file', formData)
.then(response => {
this.file_path = response.data
})
在另一个 Axios 调用中,我发送了 this.file_path
的值
这样我就得到了文件的路径,并且 $request->file('b2b_file')->store()
可以正常工作
我尝试使用 Vuejs 和 Laravel 创建一个简单的文件上传。但是我的 'b2b_file' 变量似乎为空。在 Vue 组件中我有:
<b-form-file
v-model="b2b_file"
name="b2b_file"
multiple>
</b-form-file>
methods: {
this.b2b_file.map(element => {
this.productData.b2b_file.push(element)
})
}
console.log(this.productData.b2b_file) returns 休闲: https://prnt.sc/1hox1c5
由于当我尝试 $request->file('b2b_file')->store()
时我的控制器中的路径为空,我收到消息:“调用成员函数 store() on null”,异常:“错误”
我做错了什么?
经过一番深入搜索后,我发现我遗漏了一些逻辑,这就是为什么我在控制器中得到 null 的原因。事实证明,在调用控制器之前,在 Vue 组件中我遗漏了这个:
const formData = new FormData()
const file = this.productData.b2b_file
formData.append('b2b_file', file)
axios.post('/api/auth/upload_file', formData)
.then(response => {
this.file_path = response.data
})
在另一个 Axios 调用中,我发送了 this.file_path
的值
这样我就得到了文件的路径,并且 $request->file('b2b_file')->store()
可以正常工作