php - 如何使用 Eloquent 将图像文件内容保存到 SQL 数据库中?

标签 php laravel laravel-4 php-5.3 eloquent

我对如何在数据库表中保存图像内容感到困惑。

请看第四行代码。我确信这个 restful 方法(使用 POST)有效,因为 getSize() 返回了真实值。

此外,如果我调试返回第 5 行的内容,我会得到类似于下一行的内容:

enter image description here

所以,我不确定我是否缺少将这些数据保存到数据库中的内容。

        $personId = Input::get('PersonId');
        $file = Input::file('media');
        $tmppath = $file->getRealPath();
        $content = file_get_contents($tmppath); //$file->getSize();

        // return $content;

        $model = Person::find($personId);
        $model->Photo = $content;
        $model->save();

        $result = array(
            "success" => true,
            "data" => $personId,
            "error" => ""
        );

最佳答案

需要将文件保存到服务器,数据库中只存路径

写一个合适的方法,理想情况下你可以把它存储在一个 trait 中.

private function saveFileToDisk($file, $fileName)
{
    $path = public_path() . '/uploads/';

    return $file->move($path, $fileName . $file->getClientOriginalExtension());
}

然后将文件输入传递给您的方法并为文件提供名称:

$model->Photo = $this->saveFileToDisk(Input::file('media'), $model->Name);

显然,您需要先验证您的输入。

关于php - 如何使用 Eloquent 将图像文件内容保存到 SQL 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18623935/

相关文章:

php - 重定向到新页面后 Laravel Auth session 丢失

php - 具有 30 天前条件的 Laravel 4 查询

php - 在 count() 函数中检查多行

php - 如何在 Laravel 4 路由 URL 中同时使用 ID 和 slug? (资源/id/slug)

php - 中间带点的分页用 PHP 生成

PHP PDO 默默地不插入

php - codeigniter 中的 SQL LIKE 运算符

php - Roundcube 插件砖安装

php - laravel 5.5-错误尝试获取非对象的属性(views\pledges\index.blade.php)

javascript - 在 Laravel/Vue.js 项目中共享静态/配置数据的最佳方式是什么