Laravel - 保存图片到数据库

最后发布: 2020-07-09


问题

我有一个前端应用程序,其中我上传了一个文件。我想把它保存为数据库中的一个blob。我创建了一个这样的表。

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->binary('image')->nullable();
            $table->rememberToken();
            $table->timestamps();
        });
    }

我有一个控制器方法:

    public function uploadImage(Request $request)
    {
        error_log(json_encode($request->file('image')->getClientOriginalName()));
        $imageFile = $request->file('image');
        $image = Image::make($imageFile);
        // save image
        return response()->json([], 200);
    }

其中Image是Intervention\Image\Facades\Image。我使用了下面的文章来学习如何做到这一点。https:/www.webslesson.info202001larvel-6-store-retrieve-images-from-mysql-database.html https:/www.core45.comusing-database-to-store-images-in-laravel-5-1 这些都是非常相似的。然而,当调用Image::make时,有些东西失败了,我在我的前端应用程序中得到500(Internal Servver Error)。我似乎不知道是什么原因导致失败,也找不到任何其他方法来实现我想要的东西。有什么建议吗?

mysql reactjs laravel http-post blob