为什么10月cms不通过使用amazon-s3上传图片将附件保存在db上?
我对AWS s3和10月cms有问题。 如果我从媒体页面s3上传图像或文件,效果很好,但如果我从对象系统或小部件上传图像,则为附件id,系统文件表上的附件类型为空。 因此,我无法按模型获取所有图像 有人知道这是一个10月份的cms错误还是我还有一些东西要配置 filesystem.php配置: cms.php配置: sistem_文件数据库表: 模型示例:为什么10月cms不通过使用amazon-s3上传图片将附件保存在db上?,amazon-s3,octobercms,octobercms-plugins,Amazon S3,Octobercms,Octobercms Plugins,我对AWS s3和10月cms有问题。 如果我从媒体页面s3上传图像或文件,效果很好,但如果我从对象系统或小部件上传图像,则为附件id,系统文件表上的附件类型为空。 因此,我无法按模型获取所有图像 有人知道这是一个10月份的cms错误还是我还有一些东西要配置 filesystem.php配置: cms.php配置: sistem_文件数据库表: 模型示例: 实际上,它不可能作为小部件/文件上传器等建立文件的关系,并保存在数据库中的关系 其中,正如在介质中一样,它只是基于配置的本地磁盘或远程磁盘
实际上,它不可能作为小部件/文件上传器等建立文件的关系,并保存在数据库中的关系 其中,正如在介质中一样,它只是基于配置的本地磁盘或远程磁盘的普通路径 所以,如果您想添加存储在s3上的图像,您可以添加repeater字段,该字段中包含媒体小部件,用于选择文件和上载文件。通过这种方式,您可以选择或添加多个文件 从代码来看,数据库文件系统中的远程磁盘不可能实现 媒体使用远程磁盘 文件上载小部件/模型仅使用本地磁盘
如果您有任何疑问,请发表评论。您是对的。非常感谢。这意味着一个解决方案是自己创建一个S3文件上传类或函数。我想知道您是否可以创建类似System\Models\File的东西并在全球范围内使用它。我认为不使用该表是不切实际的,每个表中的每个图片都有自己的字段来创建,并为其编写额外的函数。是的,您可以创建自己的表并在新表中扩展System\Models\File。您需要存储s3项的路径,而不是本地项,这样就可以了
'default' => 's3',
'cloud' => 's3',
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
's3' => [
'driver' => 's3',
'key' => env('AWS3_KEY'),
'secret' => env('AWS3_SECRET'),
'region' => env('AWS3_REGION'),
'bucket' => env('AWS3_BUCKET'),
],
'storage' => [
'uploads' => [
'disk' => 's3',
'folder' => 'chemie/uploaded-files',
'path' => 'https://amazon/s3/bucket-name/chemie',
],
'media' => [
'disk' => 's3',
'folder' => 'chemie',
'path' => 'https://amazon/s3/bucket-name/chemie',
],
],
/**
* @var array
*/
public $attachMany = [
'gallery_images' => [
'System\Models\File',
],
];