使用带有Laravel验证的Dropzone插件上载多个图像

使用带有Laravel验证的Dropzone插件上载多个图像,laravel,file-upload,Laravel,File Upload,如何使用laravel 5.2验证通过dropzone插件上传的多个图像 我在谷歌上搜索并测试了许多解决方案,但确实不起作用。 谢谢你的帮助 <?php namespace App\Http\Controllers; use App\Bill; use App\Http\Requests; use Illuminate\Http\Request; use Image; class OrderBillController extends Controller { public

如何使用laravel 5.2验证通过dropzone插件上传的多个图像 我在谷歌上搜索并测试了许多解决方案,但确实不起作用。 谢谢你的帮助

<?php

namespace App\Http\Controllers;

use App\Bill;
use App\Http\Requests;
use Illuminate\Http\Request;
use Image;

class OrderBillController extends Controller
{
    public function saveFile(Request $request, $id)
    {
        //dd($request->all()); // testing

        // Here I need to vaidate multiple Files

        $this->validate($request, [
            $request->file('file') => 'image|max:3000'
        ]);

        $file = $request->file('file');
        for ($i = 0; $i < count($file); $i++) {
            $name = $id . '_' . time() . '_' . rand(11, 99) . '_' . $file[$i]->getClientOriginalName();
            if ($file[$i]->move(public_path() . '/bills', $name)) {
                Bill::create(['order_id' => $id, 'name' => $name]);
                $img = Image::make(public_path() . '/bills/' . $name)
                    ->resize(300, 200)
                    ->save(public_path() . '/bills/' . 'tn_' . $name);
                Bill::create(['order_id' => $id, 'name' => ('tn_' . $name)]);

            }
        }
    }
}

如评论中所述,Dropzone一次只上载一个文件,因此您只验证一个文件。您的验证代码应该是

$this->validate($request, [
        'file' => 'image|max:3000'
    ]);

您也不需要“for”循环,因为请求中没有发送多个文件。您只处理一个图像

Dropzone不会在同一个请求中发送所有文件。每个文件都单独上载。您只需要验证控制器方法中的单个文件。我尝试了,但没有成功,因为代码提示它确实有效。。thanx。。你知道如何重新设计和编辑dropzone错误消息吗?我只使用过一次,不幸的是我不知道
$this->validate($request, [
        'file' => 'image|max:3000'
    ]);