在Laravel的后端尝试上传多个图像时遇到一些问题。我有一个带有输入字段和多个属性的简单表单,该表单应该在数据库中上载图像数组,但是无论我如何尝试,都会遇到相同的错误“文件”不存在或不可读”。我检查了输入字段中的名称,它们与file()方法中的名称相同。任何帮助表示赞赏。
PS:是Laravel和PHP的新手...
ProductController:
foreach($request->file('images')->store('images') as $images) {
$product->images()->create([
'images' => $images
]);
}
刀片文件:
<form method="POST" enctype="multipart/form-data">
@csrf
<h5>Upload Multiple Images</h5>
<input type="file" multiple name="images" id="images"> Upload Images
</form
答案 0 :(得分:0)
尝试..
$input = $request->all();
$datas = [];
if ($request->hasfile('images')) {
foreach ($request->file('images') as $key => $file) {
$name = $file->getClientOriginalName();
$file->move(public_path() . '/your path /', $name); //if you want to store image in yopur folder
$datas[$key] = $name;
$file = new YourMOdelNAme();
foreach ($datas as $data) {
$file->images = $data;
$file->save();
}
}
}
答案 1 :(得分:0)
使用以下代码上传文件
$files = $request->file('images');
if($request->hasFile('images'))
{
foreach ($files as $file)
$product->images()->create([
'images' => $file
]);
}
答案 2 :(得分:0)
名称图像数组
<form method="POST" enctype="multipart/form-data">
@csrf
<h5>Upload Multiple Images</h5>
<input type="file" multiple name="images[]" id="images"> Upload Images
</form
答案 3 :(得分:0)
我知道这是一个老问题,但几天前我遇到了同样的问题。希望这对任何人都有帮助。
我通过将 php_value upload_max_filesize
中的 php.ini
设置为超过我上传文件的大小来解决该问题。
如果您有兴趣,我在这里找到了答案:
<块引用>如果其他人收到此错误并且结果不是权限问题,请检查您的 php.ini...确保您的 upload_max_filesize 与您的 post_max_size 一样大。我有 1000M 的 post_max_size(我们处理一些大的视频文件),但只有 100M 的 upload_max_size(我责怪我的老眼睛)。上传会搅动很长时间,然后抛出上面的错误。 https://github.com/laravel/framework/issues/31249