使用Laravel将图像转换为Base 64字符串

nle07wnf  于 2023-01-10  发布在  其他
关注(0)|答案(3)|浏览(351)

我想用Laravel将一个图像转换为base 64。我从一个表单中获取图像。我在我的控制器中尝试了以下操作:

public function newEvent(Request $request){
    $parametre =$request->all();

    if ($request->hasFile('image')) {
        if($request->file('image')->isValid()) {
            try {
                $file = $request->file('image');
                $image = base64_encode($file);
                echo $image;

            } catch (FileNotFoundException $e) {
                echo "catch";

            }
        }
    }

我只知道:
L3RtcC9waHBya0NqQlQ=

fjnneemd

fjnneemd1#

Laravel的$request->file()不返回实际的文件内容,它返回UploadedFile类的一个示例。
您需要加载实际文件才能转换它:

$image = base64_encode(file_get_contents($request->file('image')->pat‌​h()));
chy5wohz

chy5wohz2#

它以如下方式对我起作用:

$image = base64_encode(file_get_contents($request->file('image')));

我删除了这部分->pat‌​h();

eh57zj3b

eh57zj3b3#

不要忘记附加文件类型。
pdf示例:

$file = "data:@file/pdf;base64,".base64_encode(file_get_contents($request->file('image')));

图像示例:

$file = "data:image/png;base64,".base64_encode(file_get_contents($request->file('image')));

相关问题