0

我正在使用 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') ]);

流明应用程序只是意外返回一个空对象

在此处输入图像描述

我可以通过以下方式确认有文件请求

$request->hasFile('attachment');

它返回true,并且还通过

$request->file()

它返回给我一个空对象数组。

我也可以formData 通过这样做来验证内容

formData.forEach(function(el){
    console.log(el.name);
});

它返回每个附件的文件名(没有来自上述字段的额外数据)。

文件请求返回空对象似乎有什么问题或问题?

4

0 回答 0