Php Laravel S3集成
我正在阅读laravel的文件系统文档,这对于初学者来说是不够的 我通过composer安装了s3软件包: league/flysystem-aws-s3-v2~1.0 现在我有了下面的代码,我正在本地上传文件 如何使用下面的代码将文件上载到S3Php Laravel S3集成,php,laravel,amazon-s3,filesystems,amazon,Php,Laravel,Amazon S3,Filesystems,Amazon,我正在阅读laravel的文件系统文档,这对于初学者来说是不够的 我通过composer安装了s3软件包: league/flysystem-aws-s3-v2~1.0 现在我有了下面的代码,我正在本地上传文件 如何使用下面的代码将文件上载到S3 public function setPhoto($file, $saveDB = true) { $stream = Image::make($file->getRealPath())
public function setPhoto($file, $saveDB = true)
{
$stream = Image::make($file->getRealPath())
->stream('jpg', 80);
$stream = $stream->detach();
$photoID = $this->id . '-medium-' . time() . '.jpg';
$photoPath = 'photos/packages/' . $photoID;
DataIO::deleteFile($photoPath);
$this->photo_url = DataIO::updateStream($photoPath, $stream);
$this->photo_path = $photoID;
if($saveDB) {
$this->save();
}
}
我已经为s3、秘密密钥等设置了凭据。
谢谢文档中有这样做的说明 你在用图书馆吗?您可以这样尝试:
public function setPhoto($file, $saveDB = true)
{
$stream = Image::make($file->getRealPath())->stream('jpg', 80);
$stream = $stream->detach();
$photoID = $this->id . '-medium-' . time() . '.jpg';
$photoPath = 'photos/packages/' . $photoID;
Storage::disk('s3')->put("$photoPath", $stream->__toString(), 'public');
DataIO::deleteFile($photoPath);
$this->photo_url = DataIO::updateStream($photoPath, $stream);
$this->photo_path = $photoID;
if($saveDB) {
$this->save();
}
}
但请确保您在config/filesystem.php中正确设置了s3配置,因为您使用的似乎是rackspace适配器,而不是s3?@cmorrissey很抱歉,这是一个错误,我已经更新了问题,最初我安装了s3,我从laravel文档中复制了这个问题。请回答这个问题。谢谢