“”文件不存在或不可读

时间:2019-11-21 06:39:00

标签: laravel

在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

4 个答案:

答案 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