作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的应用程序将图像上传到 s3。我使用前端渲染来获取图像的颜色,但是因为上传到 s3 会降低质量(jpeg'ish),所以我得到了比我想要的更多的颜色。
$s3 = \Storage::disk('s3');
$s3->put('/images/file.jpg', '/images/file.jpg', 'public');
有没有办法防止这种质量损失?我注意到,如果我直接使用 aws 控制台网站上传文件,质量保持不变,这是理想的。
谢谢!
最佳答案
在 Controller Action 中
public function uploadFileToS3(Request $request)
{
$image = $request->file('image');
}
接下来我们需要为上传的文件指定一个文件名。您可以将其保留为原始文件名,但在大多数情况下您需要更改它以保持一致。让我们将其更改为时间戳,并将文件扩展名附加到它。
$imageFileName = time() . '.' . $image->getClientOriginalExtension();
现在获取图片内容如下
$s3 = \Storage::disk('s3');
$filePath = '/images/file.jpg' . $imageFileName;
$s3->put($filePath, file_get_contents($image), 'public');
更多信息可以引用this
关于php - 从 Laravel 上传到 S3 Quality Lost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38064786/
我是一名优秀的程序员,十分优秀!