如何在amazons3上获得正确的图像路径

时间:2015-12-03 12:08:35

标签: php laravel amazon-web-services heroku amazon-s3

我正在使用以下代码来获取S3上的图像路径

Storage::getDriver()
                ->getAdapter()
                ->getClient()
                ->getObjectUrl(env('S3_BUCKET_NAME'), $key);

此网址返回BUCKETNAME.s3-eu-west-1-amazon.com/$key

虽然图片的真实网址是s3-eu-west--zonzon.com/BUCKETNAME/$key

该做什么获得相同的网址?

1 个答案:

答案 0 :(得分:1)

Amazon S3支持两种类型的对象URL:

  • 路径样式: $ host / $ bucket / $ key
  • 虚拟主机样式: $ bucket。$ host / $ key

您可以在此处找到有关他们的更多信息:http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro

无论格式如何,您从客户端获取的网址都应该有效。使用的格式取决于:

  • 端点客户端正在使用的格式 - IP导致路径样式URL
  • 存储桶名称 - 某些存储桶名称不是有效的DNS名称,也会导致路径样式