image-uploading - Laravel 上传图片使用干预图片并生成唯一名称
问题描述
我正在使用 laravel 5.8 和干预图像来上传和调整图像大小。
我想将它存储在storage/app/public/images
文件夹中,我正在尝试使用存储外观来自动生成一个唯一的名称,但以下内容不起作用:
$file = $request->file('file');
$image = Image::make($file->getRealPath())->resize(360, 180);
Storage::disk('public')->putFile('images', $image->getEncoded());
是否可以使用类似于上传普通文件时的图像的存储外观自动生成唯一的文件名,如下所示:
Storage::disk('local')->putFile('forms', $request->file('file'));
解决方案
上传的文件在您的应用程序中上传时使用临时文件名。这些可以用作您可以用来保存的唯一名称。
您可以使用->getPathName()
上传文件的方法访问它。
或者,您可以使用->getClientOriginalName()
文件的原始名称。
使用Intervention/Image
,您可以使用该->save()
方法将此图像保存到目标文件夹:
$file = $request->file('file');
$image = Image::make($file->getRealPath())
->resize(360, 180)
->save(storage_path('app/public/images/'.$file->getPathName());
我没有对此进行测试,但我希望这会有所帮助。
推荐阅读
- laravel - Laravel - 调度作业时出现 Redis 错误
- python - 为什么需要一个名为 __init__.py 的模块来使文件夹成为包
- javascript - React Native:实时更新 useState
- rust - 异步 fn 报告“`impl Trait` 的隐藏类型捕获了未出现在边界内的生命周期”
- python - 如何将一行文本输出到 docx 文档中?
- python - Python:处理按键向上和按键向下事件(可能是键盘限制)
- javascript - 点击后如何缩放SVG?
- abap - 根据另一个表中的条件显示 ALV
- java - 如何在 Harmony OS 的 Java 代码中访问复数?
- azure - SQLproject 构建期间的 Azure DevOps 错误