如何使用php laravel将二进制图像上传到sql服务器

时间:2018-06-29 17:46:21

标签: php sql-server laravel image-uploading

我知道将图像上传到数据库是错误的,但是在此特定问题中,我必须将图像上传到SQL Server。我发现一些结果,例如使用base64字符串。 但是我的数据库结构充满了image中类型为SQL Server的图像。 我对Sql Server不熟悉,正在使用Laravel 5.4连接数据库。

现在的问题是这个。

  

如何在laravel中使用php将图像上传到SQL Server(列类型:binary image)?

以及如何在视图中使用此图像?

1 个答案:

答案 0 :(得分:0)

您可以将图像保存到临时位置,然后使用file_get_contents()将其读取到var中,然后将其插入数据库列(需要为二进制blob或类似的名称)。要显示它,您可以使用如下路线:

Route::get('images/{id}', function($id)
{
    $image = Images::find($id);
    $image = Response::make($image->content, 200);
    $image->header('Content-Type', 'image/jpeg');
    return $image;
});

这假定您正在使用Eloquent处理您的数据库。

使用此处的帮助对此进行了测试: https://laravel.io/forum/02-17-2014-how-do-you-save-image-to-database-and-display-it-on-website