如何在 Laravel 上传之前压缩图像?

新手上路,请多包涵

我正在制作一个图片库网站,用户可以在其中上传任何图片,它们将显示在前端。我需要在不影响图像质量的情况下压缩图像以减小尺寸,这样页面加载速度就不会受到太大影响。我正在使用以下代码上传图片:

 $rules = array('file' => 'required');
$destinationPath = 'assets/images/pages'
$validator = Validator::make(array('file' => $file), $rules);
if ($validator->passes()) {
   $filename = time() . $uploadcount . '.' . $file->getClientOriginalExtension();
   $file->move($destinationPath, $filename);
   return $filename;
} else {
   return '';
}

原文由 ÛmÄîr MÄlîk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

您需要针对网络使用优化图像,因为用户可能会上传过大的图像(无论是尺寸还是分辨率)。您可能还想从图像中删除元数据以进一步减小尺寸。 Intervention Image 非常适合在 Laravel 中调整/优化图像以供网络使用。您需要在保存图像之前对其进行优化,以便在加载网页时使用优化后的版本。

介入影像

原文由 TedRed 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏