上传多个图像,并使用FilePond With ES6和Laravel进行验证

mnowg1ta  于 2023-03-19  发布在  其他
关注(0)|答案(2)|浏览(125)

我的问题与FilePond是当我上传多个图像,它简单地分隔请求,这使我无法上传图像到一个文件夹。

这是我的输入字段:

<input type="file" id="imgs" name="imgs" accept="image/jpeg"
   multiple
   data-allow-reorder="true"
   data-max-file-size="3MB"
   data-max-files="5"
>

这是我的控制器代码:

public function saveTemp(Request $request)
{
    if ($request->only('imgs')) {
        $file = $request->file('imgs');
        $fileName = $file->getClientOriginalName();
        $folder = uniqid().'-'.now()->timestamp;
        $file->storeAs('admin/product/tmp-images/tmp-'.$folder, $fileName);

        return $folder;
    }

    return '';
}

FilePond没有关于文件验证的文档。感谢帮助。

bzzcjhmw

bzzcjhmw1#

如果您只使用FilePond上传脚本,而没有使用任何JS框架,那么您就不能使用FilePond提供的验证插件,唯一可以通过的方法是在后端进行验证

$request->validate([
    'file' => 'required|mimes:png,jpg,jpeg|max:2048'
]);

但是考虑一下任何前端框架,使用FilePond验证插件。这个解决方案更被动。当然,你仍然需要同时验证你在前端和后端的东西,但是但是这更用户友好。

xmjla07d

xmjla07d2#

对于验证部分,您可以返回@mrkazmierczak答案。
但是对于filepond请求,filepond的行为方式,我已经使用vue.js制作了自己的文件上传器,带有实时图像预览。
如果你想要源代码,请随时询问。

相关问题