【问题标题】:Laravel: Having trouble handling multiple files for uploadLaravel:处理多个文件上传时遇到问题
【发布时间】:2020-08-15 02:41:24
【问题描述】:

我有一个图像上传器,它允许在前端 (vue.js) 上使用多个图像。当我将它发送到 Laravel 时,它并没有达到我的 foreach 循环。我跟踪print 日志一直执行到foreach 循环运行,但我不知道为什么它没有通过每一个,除非这不是正确的方法。

** JS **

let formData = new FormData();
this.files.forEach((x,index) => {
    formData.append("file", x)
});

axios.post('/admin/upload', formData, {
    headers: {
        'Content-Type': 'multipart/form-data',
    }
})

**Laravel **

print "outside";
if ($request->hasFile('file')) {
    print "inside";
    $files = $request->file('file');
    $stack = [];
    foreach ($files as $file) {
        print "Looping";
        $fileName = Storage::put('/trace/', file_get_contents($file->getRealPath()), ['visibility' => 'public']);
        array_push($stack, $fileName);
    }
    return response()->json($stack);
}

【问题讨论】:

  • 添加 $files 变量,并检查您是否将文件发送到服务器。

标签: laravel vue.js laravel-5


【解决方案1】:

当您上传多个文件时,file formdata 键实际上应该是这样的数组 - formData.append("file[]", x)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-14
    • 2015-02-20
    • 1970-01-01
    • 2016-01-04
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    相关资源
    最近更新 更多