我正在使用Vue + Axios,并尝试将文件提交到我的Lumen应用程序
HTML
<input type="file" ref="inputfile">
<input type="file" ref="inputfile2">
<button @click="submit">Submit</button>
Vue
methods : {
submit(){
var formData = new FormData();
formData.append('listing_id',222);
formData.append('listing_title','Listing Title');
if( this.$refs.inputfile.value != '' ){
formData.append('attachment',this.$refs.inputfile.files[0]);
}
if( this.$refs.inputfile2.value != '' ){
formData.append('attachment2',this.$refs.inputfile2.files[0]);
}
axios.post(
'https://api.domain.com/api/v3/claim',
formData,
{
headers: {
'Content-Type': 'multipart/form-data'
}
}
).then(function(res){
console.log(res);
})
}
}
和我的Lumen应用程序
return response()->json([ 'success' => true, 'data' => $request->file('attachment') ]);
Lumen应用程序意外返回了一个空对象
我可以确认是否有文件请求
$request->hasFile('attachment');
它返回true,也返回
$request->file()
它返回一个空对象数组。
我也可以通过这样做来验证formData
的内容
formData.forEach(function(el){
console.log(el.name);
});
它会向我返回每个附件的文件名(上面字段中没有多余的数据)
文件请求似乎返回了空对象是什么问题或问题?请提出任何想法和建议?