【发布时间】:2019-05-07 09:14:17
【问题描述】:
通过 laravel 中的存储路由,我将数据(文本)传递给 MySQL,并将图像传递给存储。但是,我无法将图像存储在本地存储上(新部署后)文件系统重置中的更改,因此我需要使用外部存储来完成。存储图像(小尺寸)并有权获取它们(使用 js)的最简单方法是什么?
【问题讨论】:
通过 laravel 中的存储路由,我将数据(文本)传递给 MySQL,并将图像传递给存储。但是,我无法将图像存储在本地存储上(新部署后)文件系统重置中的更改,因此我需要使用外部存储来完成。存储图像(小尺寸)并有权获取它们(使用 js)的最简单方法是什么?
【问题讨论】:
您需要将它们存储到持久化的东西中,例如 Amazon S3。
您可以为此使用 Laravel 的 Storage 系统。使用正确的 AWS 凭证设置 S3 磁盘后,就很简单了:
$path = $request->file('your-field')->store('your-folder', 's3')
或:
$path = Storage::disk('s3')->put('path/to/folder', new File('/path/to/temporary/file'));
【讨论】:
我最近遇到了同样的问题,这是我想出的解决方案:
Heroku 没有图片存储,需要使用免费存储图片的服务并使用。
或
您可以将它们移动到公共文件夹而不是存储文件夹,并在您的视图代码中使用它:
<img src="{{ secure_asset($whereEverYouStoredYourImage->theImageAttribute) }}" alt="example">
【讨论】: