使用Laravel 5.6上传多张图片

时间:2020-06-17 17:14:22

标签: php laravel laravel-5 file-upload

我正在使用动态输入生成功能,因为我尝试上传多个图像,我从互联网上获得了代码,并且根据我的要求进行了修改,但只有当我将名称命名为表格时,图像上传才有效遇到问题。

我不知道该怎么做。请帮助该怎么做。

我附上了代码,UI,表格屏幕截图。

插入代码

$Colorimages=array();


            if($files=$request->file('Colorimages'))
            {

                foreach($files as $file)
                {
                    $extension = $file->getClientOriginalExtension();
                    $filename = date('YmdHis').rand(1,9999).'.'.$extension;
                    $file->move(public_path("product_images/sub_images"), $filename);
                    $Colorimages[]=$filename;
                }

            }

if(count($request->prol_product_line_code)>0)
        {
            foreach ($request->prol_product_line_code as $prol=>$v)
            {
                $data2=array
                (
                    'prol_product_code' => $request->prod_product_code,
                    'prol_product_line_code' => $request->prol_product_line_code[$prol],
                    'prol_printed' => $request->prod_printed,
                    'prol_color' => $request->prol_color[$prol],
                    'prol_image1' => $Colorimages[$prol],
                    'prol_image2' => $Colorimages[$prol],
                    'prol_image3' => $Colorimages[$prol],
                );
                product_line::insert($data2);
            }
        }

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

这是在laravel中上传多张图片的方法。

步骤1:创建路由(routes / web.php)

Route::get('image-view','ImageController@index');
Route::post('image-view','ImageController@store');

步骤2:创建ImageController文件(app / Http / Controllers / appController.php)

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;


class ImageController extends Controller
{
    public function index()
    {
        return view('image-view');
    }
    public function store(Request $request)
    {
        $imageName = request()->file->getClientOriginalName();
        request()->file->move(public_path('upload'), $imageName);
        return response()->json(['uploaded' => '/upload/'.$imageName]);
    }
}

第3步:创建刀片文件(resources / views / index.blade.php)

 <div class="container">
        <div class="row">
            <div class="col-lg-8 col-sm-12 col-11 main-section">
                <h1 class="text-center text-danger">File Input Example</h1><br>

                    {!! csrf_field() !!}
                    <div class="form-group">
                        <div class="file-loading">
                            <input id="file-1" type="file" name="file" multiple class="file" data-overwrite-initial="false" data-min-file-count="2">
                        </div>
                    </div>

            </div>
        </div>
    </div>
<script type="text/javascript">
        $("#file-1").fileinput({
            theme: 'fa',
            uploadUrl: "/image-view",
            uploadExtraData: function() {
                return {
                    _token: $("input[name='_token']").val(),
                };
            },
            allowedFileExtensions: ['jpg', 'png', 'gif'],
            overwriteInitial: false,
            maxFileSize:2000,
            maxFilesNum: 10,
            slugCallback: function (filename) {
                return filename.replace('(', '_').replace(']', '_');
            }
        });
    </script>