首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >命令(GetRealPath)对驱动程序(Gd)不可用

命令(GetRealPath)对驱动程序(Gd)不可用
EN

Stack Overflow用户
提问于 2018-06-17 23:42:51
回答 1查看 7.9K关注 0票数 5

我正在尝试创建一个上传的图像的水印版本,并使用laravel 5.6和干预将它们存储到存储文件夹中。

代码语言:javascript
复制
    //create the watermarked image
    $watermarkedImage = Image::make($request->file('photo'));
    $watermark = Image::make(Storage::get('watermark.png'));
    $watermark->widen(floor(($watermarkedImage->width() / 4) * 3));
    $watermarkedImage->insert($watermark, 'center');

    //save the watermarked and standard image to disc and recording their names for db
    $location = $request->file('photo')->store('public/uploads');
    $fileName = md5($location . microtime());
    $extension = '.' . explode("/", $watermarkedImage->mime())[1];
    $watermarkedLocation = Storage::putFileAs('public/watermarked/', $watermarkedImage, $fileName . $extension);

每当我尝试运行这段代码时,我都会得到错误:

命令(GetRealPath)不可用于驱动程序(Gd)

我还尝试在watermardImage变量上使用->save()和->store()命令,但出现了错误:

无法将图像数据写入路径(public/watermarked/6b2492b7856c4d68ea15509c5b908a8c.png)

命令(存储)不可用于驱动程序(Gd)

任何帮助我们都将不胜感激。

编辑:忘了加上保存成功,没有水印的原始图片

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-18 04:13:40

我最终找到了一个修复方法,而不是像我使用put那样使用store或putfileas:

代码语言:javascript
复制
Storage::put('public/watermarked/' . $fileName . $extension, $watermarkedImage->encode());

编辑后的图像现在可以正确保存,答案可以在这里找到:Laracasts

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50898149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档