Dropzonejs 对象对象错误。我该如何解决?

Dropzonejs object object error. How can I fix it?

文件无法上传到目录并返回错误

js 和来自 dropzone 的 css 正确包含在页眉和页脚中

巴尔德代码::

@include('Templates.head')
<body style="background: #283747;">
    @include('Menu.menu')
    @if (Session::has('user') && Session::has('privlages') && Session::get('privlages') >= '1')
    <div class="container">
        <div class="row">
            <form action="/gallery_add_image" class="dropzone" style="margin-left: 10%; margin-right: 10%;">
                @csrf
                <div class="fallback">
                  <input name="file" type="file" multiple />
                </div>
            </form>
        </div>
    </div>
    @else
    <script>window.location = "/";</script>
    @endif
@include('Templates.footer')

控制器代码::

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class GalerryController extends Controller
{
    public function add_image(Request $add_image){
        $image = $add_image->file('file');
        $imageName = time(). '.' . $add_image->extension();
        $image->move(public_path('gallery'), $imageName);
        return response()->json(['success' => $imageName]);
    }
}

网络(路由)代码::

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\GalerryController;

Route::post('/gallery_add_image', [GalerryController::class, 'add_image']);

服务器响应代码::

我该如何解决这个问题?

在您的控制器代码中,$add_image 是一个请求对象,它没有 extension 方法。要获取上传的文件扩展名,您需要使用:

class GalerryController extends Controller
{
    public function add_image(Request $add_image) {
        $add_image->validate([ 'file' => 'required|image' ]); // Good idea to validate
        $image = $add_image->file('file');
        $imageName = time(). '.' . $image->getClientOriginalExtension();
        $image->move(public_path('gallery'), $imageName);
        return response()->json(['success' => $imageName]);
    }
}