首页 > 解决方案 > 在 laravel Postgresql 中将文件图像上传并保存为 Bytea 数据类型

问题描述

我想将图像文件作为字节数据类型保存到数据库中。我使用框架laravel 8

public function store(Request $request){
   $this->validate($request, [
        'file' => 'required|mimes:png,jpg,jpeg'
    ]);

   $file = addslashes($request->file('file'));
   $image_file = pg_escape_bytea(file_get_contents($file));

   $file = new File;
   $file['member_id'] = $request->session()->get('id');
   $file['file'] = $image_file;
   $file->save();
}

图像文件已经可以存储在数据库中,但是当我从数据库下载图像文件时,如果上传的文件具有.jpeg扩展名,那么结果是这样的。

结果在此处输入图像描述

如果上传的文件具有.jpeg以外的扩展名,那么结果将是这样的..

结果在此处输入图像描述

如何解决这个问题?我希望图像文件在下载时仍然看起来不错。请帮我...

标签: phplaravelpostgresql

解决方案


推荐阅读