Hyo*_*ipo 3 php amazon-s3 amazon-web-services laravel-5
我创建了一种从 aws S3 获取数据(图像文件)的方法,如下所示:
public static function getImage ($imagePath)
{
if(Storage::exists($imagePath))
{
return Storage::disk('s3')->get($imagePath);
}else
{
return 'No Image';
}
}
Run Code Online (Sandbox Code Playgroud)
我确信这些图像存在于 aws 上,所以没有问题。然后我使用上面的方法作为我的刀片视图中的 src,如下所示:
{!!Html::image(getImage($myPath),'logo',['width'=>60,'height'=>55])!!}
Run Code Online (Sandbox Code Playgroud)
这里的 $myPath 已经指向 aws 上的特定文件,例如:bucket/file.jgp。但是当我运行我的网页时,这个 Html::Image 给出了这样的视图:

这里发生了什么 ?为什么 Html::image 无法呈现我的图像文件?:(
适用于 Laravel 6.x
<img src="{{Storage::disk('s3')->url($imagePath)}}">
Run Code Online (Sandbox Code Playgroud)
{!!Html::image(<Your S3 bucket URL>.$myPath),'logo',['width'=>60,'height'=>55])!!}
Run Code Online (Sandbox Code Playgroud)
您可以将 S3 URL 保存在配置文件中并使用配置值,而不是每次都写入实际值。