gpt4 book ai didi

php - 以base64格式对图像进行编码并存储在mysql数据库中,不适用于php和laravel的所有类型的图像

转载 作者:行者123 更新时间:2023-11-29 10:01:17 28 4
gpt4 key购买 nike

我上传了一张图像,并希望将其以 Base64 编码格式存储在数据库中。对于某些图像,它无法存储在数据库中。

在我的本地系统中,它适用于所有图像,但在实时服务器上,它不会将一些 Base64 格式的图像存储在 mysql 数据库中。我将图像存储在数据库中的代码如下,

$handle = $_FILES["file_name"]["tmp_name"];
$fileObj = $req->files->get('file_name');
$filename = $fileObj->getClientOriginalName();
$fileInfo = pathinfo($filename);
$fileExt = $fileInfo['extension'];
$file1 = $req->files->get('file_name');
$mime = $file1->getMimeType();
$fileName = base64_encode(file_get_contents($handle));

$File = new File();
$File->file_name = $fileName;
$File->save();

从上面的代码中,如果我改变下面的行,那么它正在工作

$fileName = (file_get_contents($handle));

但我想将其以base64编码格式存储在mysql数据库中

在我的数据表中,该字段的类型是“long blob”。

最佳答案

如果对图像进行 Base64 处理,则该列应该是长文本。 Blob 用于二进制。

但是在将文件存储到数据库之前请三思。

  1. 将图像存储到数据库是一种不好的做法,因为每当您的应用程序层(在您的情况下为 php)检索图像时,它都会增加您的内存使用量,如果您正在检索列表,您的服务器很容易就会内存不足如果多个用户使用相同的功能。

  2. 将数据存储为 base64 会使情况变得更糟,因为数据大小更大 (8/6)

最佳实践是将文件存储在文件服务器中,并仅将必要的元或链接存储在数据库中。

关于php - 以base64格式对图像进行编码并存储在mysql数据库中,不适用于php和laravel的所有类型的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52902996/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com