在laravel的后端,我有一个名为“file_ticket”的字段,我需要发送一个数组,其中包含通过输入文件发送的文件,我在前端使用vue js。如何将此数组发送到我的后端?当我尝试只发送数组时,请求返回类似“对象文件”的内容
result image
onChange(e) {
let getFiles = [...this.$refs.file.files]
if(!getFiles) return
([...getFiles]).forEach(f => {
this.filelist.push(f)
})
},
saveTicket(event){
event.preventDefault()
let frmData = new FormData()
frmData.append('subject', this.newTicket.subject)
frmData.append('service', this.newTicket.service)
frmData.append('description', this.newTicket.description)
frmData.append('file_ticket', this.filelist)
frmData.append('client_id', this.idUser)
const url = `ticket/new_ticket`
axios.post(url, frmData).then((response) => {
console.log(response)
})
2条答案
按热度按时间3b6akqbq1#
只需使用相同的键将
filelist
中的所有文件追加到formdata中,它将发送一个文件数组。fivyi3re2#
不像问题中那样将文件追加到另一个数组中,而是直接追加,但要添加方括号。
而不是使用这个:
只需将文件附加到表单数据对象,如下所示:
在你的Laravel控制器中,只需要使用下面的代码来获取你的文件(我假设你正在使用POST,并且你正在将Request对象作为参数传递给你的控制器函数)
hasFile
函数检查您的请求是否具有该文件票证,并使用$request->file
获取文件数组。