【问题标题】:How can i upload more than one photo / file at once in laravel?如何在 laravel 中一次上传多个照片/文件?
【发布时间】:2020-10-04 23:01:55
【问题描述】:

此功能上传照片:

 public function addImageForNewRecp(Request $request)
    {
        $file =  $request->file('images');

        $imageName = $file->getClientOriginalName();
        $imageName = str_replace(' ', '-', strtolower($imageName));
        $imageName = time() . $imageName;
        $file->move(public_path() . '/storage/', $imageName);

        return response()->json(["key" => $imageName]);
    }

我想我需要一个 for 循环来循环所有写入的文件名,但我不知道该放在哪里,请帮助

附加代码:

 <input type="file" multiple="multiple" id="recpfiles" class="recpfiles"  name="images1" accept="image/* , image/tiff" >

【问题讨论】:

    标签: php laravel image file-upload upload


    【解决方案1】:

    您的选择名称属性中缺少 [ ]

    <input type="file" multiple="multiple" id="recpfiles" class="recpfiles"  name="images1[]" accept="image/* , image/tiff" >
    

    【讨论】:

    • 当我这样做时,会出现这个错误:ltrim() 期望参数 1 是字符串,为此代码给出的数组:public function store(Request $request) { $data = array(); $imageNames = $request->myImages; // dd($imageNames); $imageNames = ltrim($imageNames, ','); $data = explode(',', $imageNames);
    【解决方案2】:

    要从同一个输入字段上传多个文件,您只需使用下面的数组命名

    <input type="file" multiple="multiple" id="recpfiles" class="recpfiles"  name="images1[]" accept="image/* , image/tiff" >
    

    在控制器中使用如下

    $files = $request->file('images'); // it will return array
    

    为了更好地理解你可以关注这个article

    【讨论】:

    • 当我这样做时,会出现这个错误:ltrim() 期望参数 1 是字符串,为此代码给出的数组:public function store(Request $request) { $data = array(); $imageNames = $request->myImages; // dd($imageNames); $imageNames = ltrim($imageNames, ','); $data = explode(',', $imageNames);
    • 看文章了解
    猜你喜欢
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-18
    相关资源
    最近更新 更多